作业二1.用MATLAB产生三个频率成分信号,进行线性叠加,再加上白噪声(μ=0,σ=0.7)。设置采样频率、采样长度,并分析采样频率、采样长度、频率分辨率关系。进一步对数字信号进行加窗处理(矩形窗、汉宁窗),分析加窗对信号的影响。实验一:用MATLAB产生频率分别为30,50,100𝐻𝑍的三个信号,再混入方差为0.7的白噪声,其时域频域图如下(分别设置采样频率为300𝐻𝑍、1000𝐻𝑍以及采样点数N=256、1025、2048)图一图二图三图四图五图六由以上图对比可知:1.对比图一、图二、图三可知采样长度(采样点数)越长,分辨率越高。2.对比图一及图四可知,采样频率越高,分辨率越高。频率分辨率可以理解为在使用DFT时,在频率轴上的所能得到的最小频率间f0=fs/N=1/NTs=1/T,其中N为采样点数,fs为采样频率,Ts为采样间隔。所以NTs就是采样前模拟信号的时间长度T,所以信号长度越长,频率分辨率越好。如一段数据拿来就确定了时间T,注意:f0=1/T,而T=NTs,增加N必然减小Ts,因此,增加N时f0是不变的。只有增加点数的同时导致增加了数据长度T才能使分辨率越好。还有容易搞混的一点,我们在做DFT时,常常在有效数据后面补零达到对频谱做某种改善的目的,我们常常认为这是增加了N,从而使频率分辨率变好了,其实不是这样的,补零并没有增加有效数据的长度,仍然为T。但是补零其实有其他好处:1.使数据N为2的整次幂,便于使用FFT。2.补零后,其实是对DFT结果做了插值,克服“栅栏”效应,使谱外观平滑化;3.由于对时域数据的截短必然造成频谱泄露,因此在频谱中可能出现难以辨认的谱峰,补零在一定程度上能消除这种现象。实验二:加窗函数矩形窗有最窄的主瓣,但是旁瓣泄露严重。汉宁窗和海明窗虽主瓣较宽,但是旁瓣泄露少,是常选用的窗函数。附录:MATLAB程序clear;clc;clf;fs=500;N=1024;n=0:N-1;t=n/fs;A1=0.2;B1=30;C1=0.38;A2=0.1;B2=50;C2=0.3;A3=0.5;B3=100;C3=0.5;x0=A1*sin(2*pi*B1*t+C1)+A2*sin(2*pi*B2*t+C2)+A3*sin(2*pi*B3*t+C3);%信号subplot(3,3,1);plot(x0);title('图1三个函数叠加时域图');gridon;x=x0+0.7*randn(size(t));subplot(3,3,2);plot(x);title('图2加上白噪声后时域图');gridon;y1=fft(x,N)/N;n1=0:length(y1)-1;f0=fs*n/length(y1);subplot(3,3,3),plot(f0,abs(y1));title('图3幅值频域图');xlabel('频率/\itHz');ylabel('振幅');gridon;%幅值频域图window=hanning(N);%生成窗函数x=x.*window';%加窗函数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),1.852*yy(1:N/2.56));%绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图4:fs=500,N=1024,加hanning窗函数');gridon;