MATLAB 轴心轨迹图、幅值谱、相位谱、功率谱 2011-04-22 22:30:33| 分类: 专业相关 | 标签:知识点通信 |字号大中小 订阅 .
MATLAB编程,题目如下
x=6*sin(60*pi*t)+8*sin(120*pi*t+pi/6);
y=8*sin(60*pi*t+pi/2)+3*sin(120*pi*t+pi/4);
程序一:两个波形图和轴心图
clear;
close all;
sf=800;%采样频率;
N=512;%采样点数
t=0:1/sf:1;
x=6*sin(60*pi*t)+8*sin(120*pi*t+pi/6);
y=8*sin(60*pi*t+pi/2)+3*sin(120*pi*t+pi/4);
subplot(2,1,1); %生成m*n个图,当前激活第一个图
plot(t,x);
xlabel('时间t 单位s'); % x轴注解
ylabel('幅值x 单位cm'); % y轴注解
title('A的波形图'); % 图形标题
grid on; % 显示格线
subplot(2,1,2);
plot(t, y, 'g');
xlabel('时间t 单位s'); % x轴注解
ylabel('幅值y 单位cm '); % y轴注解
title('B的波形图'); % 图形标题
grid on; % 显示格线
%轴心轨迹图
figure(2)
plot(x,y,'b')
grid on;
程序二:计算X、Y的波形系数和波峰系数
%x y的波形系数和波峰系数
clc;
close all;
sf=800;
t=0:1/sf:1;
x=6*sin(60*pi*t)+8*sin(120*pi*t+pi/6);
xav=mean(abs(x));%平均绝对值
xp=max(x);%幅值也就是最大值
z=x.^2;
d=mean(z);
xrms=sqrtm(d);%有效值
Ft=xrms/xav;
Fc=xp/xrms;
disp(['x的波形系数是']);
disp(num2str(Ft));
disp(['x的波峰系数是']);
disp(num2str(Fc));
%y的波形系数和波峰系数
y=8*sin(60*pi*t+pi/2)+3*sin(120*pi*t+pi/4);
x=y;
xav=mean(abs(x));%平均绝对值
xp=max(x);%幅值也就是最大值
z=x.^2;
d=mean(z);
xrms=sqrtm(d);%有效值
Ft=xrms/xav;
Fc=xp/xrms;
disp(['y的波形系数是']);
disp(num2str(Ft));
disp(['y的波峰系数是']);
disp(num2str(Fc));
程序三:求解幅频谱、相频谱、功率谱
%幅频谱、相频谱、功率谱
clc;
fs=800;%设定采样频率
N=512;%采样点数
n=0:N-1;
t=n/fs;
y=8*sin(60*pi*t+pi/2)+3*sin(120*pi*t+pi/4);
%进行FFT变换并做幅频谱
yy=fft(y,N);%进行fft变换
py1=yy/512;
py2=py1*2;%单边谱乘以2
mag= abs(py2) ;%求幅值
f=(0:256)*800/512;
subplot(2,1,1);
plot(f,mag(1:257));%做幅频谱图
xlabel('频率(Hz)');
ylabel('幅值');
title('B的幅频谱');
grid;
%功率谱
power=mag(1:257).^2;
subplot(2,1,2);
plot(f,power);
grid on;
title('B的功率谱');
xlabel('频率(Hz)');
ylabel('功率');
%相频图
pyy=angle(yy);
Pyy=180/pi*pyy;%弧度变角度
figure(2);
plot(f,Pyy(1:257));
gridon;
title('B的相频谱');
xlabel('频率(Hz)');
ylabel('相位(度)');
程序四:%相关系数和相干性
clc;
closeall;
dt=1/800;
sf=800;
t=0:1/800:1;
x=6*sin(60*pi*t)+8*sin(120*pi*t+pi/6);
y=8*sin(60*pi*t+pi/2)+3*sin(120*pi*t+pi/4);
%相关系数
N=128;
a=xcorr(x,y,128);
a=a(N+1:2*N+1);
plot(t(1:N),a(1:N));
gridon;
%求A、B的相干函数
figure(2);
N=512;
[cxy,w]=cohere(x,y,N/4,sf,hamming(N/4),0,'mean');
plot(w,cxy);
grid;
title('相干分析');
xlabel('频率(Hz)');