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)');
以下是matlab help的例子 t = 0:0.001:0.6;
x = sin(2*pi*50*t)+sin(2*pi*120*t); y = x + 2*randn(size(t)); plot(1000*t(1:50),y(1:50))
title('Signal Corrupted with Zero-Mean Random Noise') xlabel('time (milliseconds)' Y = fft(y,512);
Pyy = Y.* conj(Y) / 512; f = 1000*(0:256)/512; plot(f,Pyy(1:257))
title('Frequency content of y') xlabel('frequency (Hz)')