资源描述:
《利用matlab绘制正弦信号的频谱图并做相关分析》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、利用Matlab绘制正弦信号的频谱图并做相关分析一、作业要求:1、信号可变(信号的赋值、相位、频率可变);2、采样频率fs可变;3、加各种不同的窗函数并分析其影响;4、频谱校正;5、频谱细化。二、采用matlab编写如下程序:clear;clf;fs=100;N=1024;%采样频率和数据点数A=20;B=30;C=0.38;n=0:N-1;t=n/fs;%时间序列x=A*sin(2*pi*B*t+C);%信号y=fft(x,N);%对信号进行傅里叶变换yy=abs(y);%求得傅里叶变换后的振幅yy=yy*2/N;%
2、幅值处理f=n*fs/N;%频率序列subplot(3,3,1),plot(f,yy);%绘出随频率变化的振幅xlabel('频率/itHz');ylabel('振幅');title('图1:fs=100,N=1024');gridon;%两种信号叠加,x=A*sin(2*pi*B*t+C)+2*A*sin(2*pi*1.5*B*t+2.5*C);%信号y=fft(x,N);%对信号进行傅里叶变换yy=abs(y);%求得傅里叶变换后的振幅yy=yy*2/N;%幅值处理f=n*fs/N;%频率序列subplot(3,
3、3,2),plot(f,yy);%绘出随频率变化的振幅xlabel('频率/itHz');ylabel('振幅');title('图2:fs=100,N=1024,两种信号叠加');gridon;%加噪声之后的图像x=A*sin(2*pi*B*t+C)+28*randn(size(t));y=fft(x,N);yy=abs(y);yy=yy*2/N;%幅值处理subplot(3,3,3),plot(f(1:N/2.56),yy(1:N/2.56));xlabel('频率/itHz');ylabel('振幅');ti
4、tle('图3:fs=100,N=1024混入噪声');gridon;%改变采样点数N=128N=128;n=0:N-1;t=n/fs;%时间序列x=A*sin(2*pi*B*t+C);%信号y=fft(x,N);%对信号进行傅里叶变换yy=abs(y);%求得傅里叶变换后的振幅yy=yy*2/N;%幅值处理f=n*fs/N;%频率序列subplot(3,3,4),plot(f(1:N/2.56),yy(1:N/2.56));%绘出随频率变化的振幅xlabel('频率/itHz');ylabel('振幅');titl
5、e('图4:fs=100,N=128');gridon;%改变采样频率为200Hz时的频谱fs=400;N=1024;n=0:N-1;t=n/fs;x=A*sin(2*pi*B*t+C);%信号y=fft(x,N);%对信号进行快速傅里叶变换yy=abs(y);%求取傅里叶变换的振幅yy=yy*2/N;%幅值处理f=n*fs/N;subplot(3,3,5),plot(f(1:N/2.56),yy(1:N/2.56));%绘出随频率变化的振幅xlabel('频率/itHz');ylabel('振幅');title('
6、图5:fs=400,N=1024');gridon;%加三角窗函数fs=100;N=1024;%采样频率和数据点数n=0:N-1;t=n/fs;%时间序列x=A*sin(2*pi*B*t+C);%信号window=triang(N);%生成三角窗函数x=x.*window';%加窗函数y=fft(x,N);%对信号进行傅里叶变换yy=abs(y);%求得傅里叶变换后的振幅yy=yy*2/N;%幅值处理f=n*fs/N;%频率序列subplot(3,3,6),plot(f(1:N/2.56),2*yy(1:N/2.56)
7、);%绘出随频率变化的振幅xlabel('频率/itHz');ylabel('振幅');title('图6:fs=100,N=1024,加三角窗函数');gridon;%加海明窗函数后的频谱fs=100;N=1024;n=0:N-1;t=n/fs;x=A*sin(2*pi*B*t+C);%信号window=hamming(N);%生成海明窗函数x=x.*window';%加窗函数y=fft(x,N);%对信号进行快速傅里叶变换yy=abs(y);%求取傅里叶变换的振幅yy=yy*2/N;%幅值处理f=n*fs/N;s
8、ubplot(3,3,7),plot(f(1:N/2.56),1.852*yy(1:N/2.56));%绘出随频率变化的振幅xlabel('频率/itHz');ylabel('振幅');title('图7:fs=100,N=1024,加海明窗函数');gridon;%加汉宁窗函数后的频谱fs=100;N=1024;n=0:N-1