数字信号处理上机实验dft资料.docx
- 文档编号:23214646
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:12
- 大小:134.95KB
数字信号处理上机实验dft资料.docx
《数字信号处理上机实验dft资料.docx》由会员分享,可在线阅读,更多相关《数字信号处理上机实验dft资料.docx(12页珍藏版)》请在冰豆网上搜索。
数字信号处理上机实验dft资料
本科实验报告
实验名称:
数字信号处理上机实验
作业1:
用DFT分析周期序列的频谱
任务:
设周期序列
截取N点长得到
(1)N=10,做10点DFT,得到X1(k);
(2)N=10,做100点补零DFT,得到X2(k);
(3)N=100,做100点DFT,得到X3(k)。
要求:
针对以上三种情况,分别输出|X1(k)|、|X2(k)|、|X3(k)|的图形,并进行比较、分析和讨论。
程序:
clearall;
n=0:
1000;
xn=cos(pi*0.48*n)+cos(pi*0.52*n);
Xk1=fft(xn(1:
10),10);
X1=abs(Xk1);
subplot(3,1,1);
stem(X1,'.');
xlabel('k');
ylabel('|X1(k)|');
title('N=10,10点DFT');
Xk2=fft(xn(1:
10),100);
X2=abs(Xk2);
subplot(3,1,2);
stem(X2,'.');
xlabel('k');
ylabel('|X2(k)|');
title('N=10,100点补零DFT');
Xk3=fft(xn(1:
100),100);
X3=abs(Xk3);
subplot(3,1,3);
stem(X3,'.');
xlabel('k');
ylabel('|X3(k)|');
title('N=100,100点DFT');
运行结果:
分析:
从幅度谱中我们可以明显看出,X1(k)的相邻谱线间隔大,栅栏效应明显,频率分辨率低。
X2(k)是在采样数据10点后面补零再作DFT,降低了X1(k)中存在的栅栏效应,相邻谱线间隔变小,但并没有提高频率分辨率,没有改变频谱函数的主瓣宽度,只是将X1(k)的已存在的频谱函数进行内插,显示出更多细节。
X3(k)与X1(k)相比,信号采样数据增加,幅度谱栅栏效应减小,频率分辨率提高。
X2(k)与X3(k)对照,X3(k)相当于时域上乘以一个较长的矩形窗,幅度谱的主瓣与X2(k)相比减小 (主瓣宽度为
),频谱泄露明显减轻,频率分辨率提高,但计算复杂度增加。
作业2:
用DFT对模拟信号进行谱分析
任务:
设
用FFT分析其频谱结构,选择不同的截取长度Tp,观察截断效应,试用加窗的方法降低旁瓣。
程序:
fs=400;
n=0:
1000;
xn=0.3*cos(200*pi*n/fs)+0.5*sin(100*pi*n/fs)+cos(50*pi*n/fs);
Vk1=fft(xn(1:
16),2048);
Vk1=abs(Vk1)./max(abs(Vk1));
subplot(3,1,1);
plot((0:
length(Vk1)-1)*fs/length(Vk1),abs(Vk1));
xlabel('HZ');
ylabel('|V1(k)|');
title('截取时间长度Tp=0.04s,N=16,2048点DFT');
Vk2=fft(xn(1:
64),2048);
Vk2=abs(Vk2)./max(abs(Vk2));
subplot(3,1,2);
plot((0:
length(Vk2)-1)*fs/length(Vk2),abs(Vk2));
xlabel('HZ');
ylabel('|V2(k)|');
title('截取时间长度Tp=4*0.04s,N=64,2048点DFT');
Vk3=fft(xn(1:
256),2048);
Vk3=abs(Vk3)./max(abs(Vk3));
subplot(3,1,3);
plot((0:
length(Vk3)-1)*fs/length(Vk3),abs(Vk3));
xlabel('HZ');
ylabel('|V3(k)|');
title('截取时间长度Tp=16*0.04s,N=256,2048点DFT');
运行结果:
程序:
fs=400;
n=1:
1000;
xn=0.3*cos(200*pi*n/fs)+0.5*sin(100*pi*n/fs)+cos(50*pi*n/fs);
Vk1=fft(xn(1:
16).*hamming(16)',2048);
subplot(3,1,1);
plot((0:
length(Vk1)-1)*fs/length(Vk1),abs(Vk1));
xlabel('HZ');
ylabel('|V1(k)|');
title('N=16,2048点DFT');
Vk2=fft(xn(1:
64).*hamming(64)',2048);
subplot(3,1,2);
plot((0:
length(Vk2)-1)*fs/length(Vk2),abs(Vk2));
xlabel('HZ');
ylabel('|V2(k)|');
title('N=64,2048点DFT');
Vk3=fft(xn(1:
256).*hamming(256)',2048);
subplot(3,1,3);
plot((0:
length(Vk3)-1)*fs/length(Vk3),abs(Vk3));
xlabel('HZ');
ylabel('|V3(k)|');
title('N=256,2048点DFT');
运行结果:
分析:
从以上两图可以看出,无论是采取矩形窗还是海明窗,随着截取时间长度增大(窗谱压缩变窄),旁瓣高度降低,能量向主瓣集中,泄露误差减少,同时主瓣变窄。
当N增大到256时,能量主要集中在25Hz、50Hz和100Hz,幅度比值为1:
0.5:
0.3,与题目给出的信号函数相符。
300Hz、350Hz和375Hz处为频率延拓过来的,无实际意义。
再对比经过矩形窗截取和海明窗截取处理后的图形。
程序:
fs=400;
n=1:
1000;
xn=0.3*cos(200*pi*n/fs)+0.5*sin(100*pi*n/fs)+cos(50*pi*n/fs);
Vk1=fft(xn(1:
16).*hamming(16)',2048);
Vk1=abs(Vk1)./max(abs(Vk1));
subplot(3,1,1);
plot((0:
length(Vk1)-1)*fs/length(Vk1),abs(Vk1),'y');holdon;
Vk1=fft(xn(1:
16),2048);
Vk1=abs(Vk1)./max(abs(Vk1));
subplot(3,1,1);
plot((0:
length(Vk1)-1)*fs/length(Vk1),abs(Vk1),'g');
xlabel('HZ');
ylabel('|V1(k)|');
title('截取时间长度Tp=0.04s,N=16,2048点DFT');
Vk2=fft(xn(1:
64).*hamming(64)',2048);
Vk2=abs(Vk2)./max(abs(Vk2));
subplot(3,1,2);
plot((0:
length(Vk2)-1)*fs/length(Vk2),abs(Vk2),'y');holdon;
Vk2=fft(xn(1:
64),2048);
Vk2=abs(Vk2)./max(abs(Vk2));
subplot(3,1,2);
plot((0:
length(Vk2)-1)*fs/length(Vk2),abs(Vk2),'g');
xlabel('HZ');
ylabel('|V2(k)|');
title('截取时间长度Tp=4*0.04s,N=64,2048点DFT');
Vk3=fft(xn(1:
256).*hamming(256)',2048);
Vk3=abs(Vk3)./max(abs(Vk3));
subplot(3,1,3);
plot((0:
length(Vk3)-1)*fs/length(Vk3),abs(Vk3),'y');holdon;
Vk3=fft(xn(1:
256),2048);
Vk3=abs(Vk3)./max(abs(Vk3));
subplot(3,1,3);
plot((0:
length(Vk3)-1)*fs/length(Vk3),abs(Vk3),'g');
xlabel('HZ');
ylabel('|V3(k)|');
title('截取时间长度Tp=16*0.04s,N=256,2048点DFT');
运行结果:
分析:
图中绿线是矩形窗处理后的频谱,黄线是海明窗处理后的频谱。
可以看出,用矩形窗截取后的信号主瓣比较集中,但是旁瓣较高,变换中带进了高频干扰和泄漏,频率识别精度较高,幅值识别精度较低。
海明窗截取后的信号,其主瓣宽约等于矩形窗的两倍,频率识别精度较低,但旁瓣降低,能量泄露少。
可见两种窗函数各有利弊,应用于不同场合。
作业3:
用DFT分析音乐信号的频谱
任务:
读取一个音乐文件并播放,取其中一段数据显示其时域波形,利用DFT进行频谱分析并显示其幅度谱。
程序:
clearall;
[data,fs,bits]=wavread('传奇.WAV');
sound(data,fs);
n=500000;%截取下限
N=1000000;%截取上限
N0=1000000;%DFT点数
subplot(2,1,1);
plot(data);
axis([nN-22]);
title('声音信号波形图');
xn=data(n:
N);
Xk=fft(xn,N0);
subplot(2,1,2);
plot((0:
length(Xk)-1)*fs/length(Xk),abs(Xk));
title(['N=',num2str(N-n),'',num2str(N0),'点DFT']);
xlabel('hz');ylabel('幅值');
grid;
运行结果:
由于运行的wav文件较大,故只截取了从500000点到1000000点数据。
将频谱前半段放大后的图形:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 上机 实验 dft 资料