用matlab语言产生一个正弦信号,进行频谱分析和自相关分析,求教~~~~~谢谢啊
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/06/17 02:50:08
用matlab语言产生一个正弦信号,进行频谱分析和自相关分析,求教~~~~~谢谢啊
用matlab语言产生一个正弦信号,该信号由不同频率并且幅值也不同的正弦信号组成,对该信号进行频谱分析和自相关分析,并与白噪声信号进行互相关分析.
用matlab语言产生一个正弦信号,该信号由不同频率并且幅值也不同的正弦信号组成,对该信号进行频谱分析和自相关分析,并与白噪声信号进行互相关分析.
![用matlab语言产生一个正弦信号,进行频谱分析和自相关分析,求教~~~~~谢谢啊](/uploads/image/z/2000810-2-0.jpg?t=%E7%94%A8matlab%E8%AF%AD%E8%A8%80%E4%BA%A7%E7%94%9F%E4%B8%80%E4%B8%AA%E6%AD%A3%E5%BC%A6%E4%BF%A1%E5%8F%B7%2C%E8%BF%9B%E8%A1%8C%E9%A2%91%E8%B0%B1%E5%88%86%E6%9E%90%E5%92%8C%E8%87%AA%E7%9B%B8%E5%85%B3%E5%88%86%E6%9E%90%2C%E6%B1%82%E6%95%99%7E%7E%7E%7E%7E%E8%B0%A2%E8%B0%A2%E5%95%8A)
下面matlab程序,按照你的要求编写的.
fs=100;N=200;
lag=100;
%randn('state',0); %设置产生随机数的初始状态(噪声)
n=0:N-1;t=n/fs;
x1=sin(2*pi*10*t)+2*sin(2*pi*15*t)
y=fft(x1,N); %计算频谱
mag=abs(y);
f=n*fs/N;
figure(1)
subplot(2,2,1),plot(t,x1);
title('原始信号'),xlabel('时间/s');
subplot(2,2,2),plot(f(1:N/2),mag(1:N/2)*2/N);
title('频谱图'),xlabel('频率/Hz');
[c,lags]=xcorr(x1,lag,'unbiased'); % 自相关
subplot(2,2,3),plot(lags/fs,c);
title('自相关信号'),xlabel('时间/s');
m=length(c)-1;
z=fft(c,m);
mag_z=abs(z);
ff=(0:m-1)*fs/m;
subplot(2,2,4),plot(ff(1:m/2),mag_z(1:m/2)*2/m);
title('自相关频谱'),xlabel('频率/Hz');
figure(2)
[c1,lags1]=xcorr(x1,randn(1,length(t)),lag,'unbiased');
m1=length(c1)-1;
z1=fft(c1,m1);
mag_z1=abs(z1);
ff1=(0:m1-1)*fs/m1;
subplot(2,1,1),plot(lags1/fs,c1);
title('互相关信号'),xlabel('时间/s');
subplot(2,1,2),plot(ff1(1:m1/2),mag_z1(1:m1/2)*2/m1);
title('互相关频谱'),xlabel('频率/Hz');
![](http://img.wesiedu.com/upload/b/de/bdec0b4f344b8fd2e4ce114d91e96c47.jpg)
![](http://img.wesiedu.com/upload/9/16/9164f942a231aebd98db6792feb4093c.jpg)
fs=100;N=200;
lag=100;
%randn('state',0); %设置产生随机数的初始状态(噪声)
n=0:N-1;t=n/fs;
x1=sin(2*pi*10*t)+2*sin(2*pi*15*t)
y=fft(x1,N); %计算频谱
mag=abs(y);
f=n*fs/N;
figure(1)
subplot(2,2,1),plot(t,x1);
title('原始信号'),xlabel('时间/s');
subplot(2,2,2),plot(f(1:N/2),mag(1:N/2)*2/N);
title('频谱图'),xlabel('频率/Hz');
[c,lags]=xcorr(x1,lag,'unbiased'); % 自相关
subplot(2,2,3),plot(lags/fs,c);
title('自相关信号'),xlabel('时间/s');
m=length(c)-1;
z=fft(c,m);
mag_z=abs(z);
ff=(0:m-1)*fs/m;
subplot(2,2,4),plot(ff(1:m/2),mag_z(1:m/2)*2/m);
title('自相关频谱'),xlabel('频率/Hz');
figure(2)
[c1,lags1]=xcorr(x1,randn(1,length(t)),lag,'unbiased');
m1=length(c1)-1;
z1=fft(c1,m1);
mag_z1=abs(z1);
ff1=(0:m1-1)*fs/m1;
subplot(2,1,1),plot(lags1/fs,c1);
title('互相关信号'),xlabel('时间/s');
subplot(2,1,2),plot(ff1(1:m1/2),mag_z1(1:m1/2)*2/m1);
title('互相关频谱'),xlabel('频率/Hz');
![](http://img.wesiedu.com/upload/b/de/bdec0b4f344b8fd2e4ce114d91e96c47.jpg)
![](http://img.wesiedu.com/upload/9/16/9164f942a231aebd98db6792feb4093c.jpg)
用matlab语言产生一个正弦信号,进行频谱分析和自相关分析,求教~~~~~谢谢啊
关于用MATLAB对信号进行频谱分析程序
matlab对非正弦信号频谱分析,急,
怎么用matlab进行频谱分析
产生一个100Hz 的正弦信号,对其进行Hilbert 变换,并产生其频谱图.用Matlab 如何编程.
【求助】Matlab运用FFT分析信号的频谱 用MATLAB 1,对矩形窗序列x1(n)=R8(n)进行频谱分析,截取长
周期信号频谱分析的matlab程序?
为什么matlab wgn函数产生的白噪声信号用FFT频谱分析结果不是一条直线
如何将示波器采集到的离散信号导入Matlab来进行频谱分析?
基于matlab的连续信号的频谱分析
matlab 频谱分析
matlab分析噪声频谱