数字信号系统课程设计报告
时间:2025-04-25
时间:2025-04-25
信息处理方向课程
设计报告
指导教师: 陈文驰 张建平
学生学号: 学生姓名:
学生班级:
目录
一、
二、
三、
四、
五、
六、
七、
八、
设计题目 设计目的 设计原理 实现方法 设计内容及要求 设计结果及改进建议 回答思考题 设计体会
1.实验一
1.1设计题目: DFT在信号频谱分析中的应用 1.2设计目的
1. 熟悉DFT的性质。
2. 加深理解信号频谱的概念及性质。 3. 了解高密度谱与高分辨率频谱的区别。 1.3设计任务与要求
1.学习用DFT和补零DFT的方法来计算信号的频谱。
2.用MATLAB语言编程来实现,在做课程设计前,必须充分预习课本DTFT、DFT及补零DFT的有关概念,熟悉MATLAB语言,独立编写程序。 1.4设计原理
DFT定义:设有限长序列x(n)长为N(0 n N-1),其离散傅里叶变换是一个长为N的频率有限长序列(0 k N-1),其正变换为X k DFT x n x n Wnk,0 k N-1(WN
n 0
N
N 1
e
j
2π
N
);
已知x(n)可以唯一确定X(k),已知X(k)可以唯一确定x(n)。
1.5设计内容
1.5.1 用MATLAB语言编写计算序列x(n)的N点DFT的m函数文件dft.m。并与MATLAB中的内部函数文件fft.m作比较。DFT.m 程序如下: function Xk=dft(xn,N) %计算序列x(n)的N点DFT if length(xn)<N
xn=[xn,zeros(1,N-length(xn))]; end
n=0:N-1; for k=0:N-1;
Xk(1,k+1)=sum(xn.*exp((-1)*j*n*k*(2*pi/N))); end
1.5.2 对离散确定信号 x(n) cos(0.48 n) cos(0.52 n) 作如下谱分析:
(1)截取x(n)使x(n)成为有限长序列N(0 n N-1),(长度N自己选)写程序计算出x(n)的
X(k)~kN点DFT X(k),并画出相应的幅频图。
取N为16。调用编写好的dft函数完成谱分析,并且和调用MATLAB中的内部函数文件fft.m的结果作比较。程序如下: for n=0:15
xn(n+1)=cos(0.48*pi*n)+cos(0.52*pi*n) end
dft16=abs(dft(xn,16));fft16=abs(fft(xn,16));
subplot(1,2,1);stem(0:15,dft16);title('16点DFT变换的幅频图'); subplot(1,2,2);stem(0:15,fft16);title('16点FFT变换的幅频图'); 运行结果如图1所示
(2)将 (1)中x(n)补零加长至M点,编写程序计算x(n)的M点DFT X1(k) ,并画出相应的图X1(k)~k。
取M为32时,因为编写的dft函数在长度N大于序列长度时自动补零,故直接调用函数即可。其程序如下(运行结果如图2所示): for n=0:15
xn(n+1)=cos(0.48*pi*n)+cos(0.52*pi*n) end
dft25=abs(dft(xn,25))
stem(0:24,dft25);title('25点DFT变换的幅频图');
j X(ej )~ x(n)X(e)(3)利用补零DFT计算1中N点有限长序列频谱并画出相应的幅频图。
当dft的N取值足够大时,可以用plot函数来画平滑的图像,就是所要的幅频图,程序
如下:(运行结果如图3所示) for n=0:15
xn(n+1)=cos(0.48*pi*n)+cos(0.52*pi*n) end
dft1024=dft(xn,1024)
plot(0:1023,dft1024);title('频谱的幅频图');
图1 图2 图3
3. 研究高密度谱与高分辨率频谱。
对连续确定信号xa(t) cos(2 6.5 103t)*e t 令 =103 ,104 ,105
(1)对不同的
考虑恰当的采样频率进行取样分析,说明理由
j
(2) 对某一个 采样数据选取适当长度,计算DFT,画出相应的X(k)和X(e)~
(1)对不同的
考虑恰当的采样频率进行取样分析,说明理由
当 =103时,抽样频率可以选择为32khz,因为满足32Khz大于两倍最高频率(运行结果如图4所示):
for n=0:15
xn(n+1)=cos(2*pi*6.5*1000*n/32000)*exp(-1*1000*n/32000) end
stem(0:15,xn);title(‘抽样函数xn’);
当 =104时,抽样频率可以选择为64khz,因为32Khz已经不再大于两倍最高频率 故,程序如下(运行结果如图5所示):
for n=0:15
xn(n+1)=cos(2*pi*6.5*1000*n/64000)*exp(-1*10000*n/64000) end
stem(0:15,xn)
图4 图5 图6
当 =105时,抽样频率可以选择为320khz。(运行结果如图6所示) for n=0:15
n(n+1)=cos(2*pi*6.5*1000*n/320000)*exp(-1*100000*n/320000) end
stem(0:15,xn)
j X(e)~ (2) 对某一个采样数据选取适当长度,计算DFT,画出相应的X(k)和
取 =103,采样频率32Khz,取15个点。程序如下(运行结果如图7所示):
for n=0:15
xn(n+1)=cos(2*pi*6.5*1000*n/32000)*exp(-1*1000*n/32000) end
dft64=dft(xn,64);
subplot(2,1,1);stem(0:63,dft64);title('采样序列的DFT图像'); subplot(2,1,2);plot(0:63,dft64);title('采样序列的频谱图像');
图7
1.6设计体会
离散傅里叶变换建立了有限长序列与其近似频谱之间的联系,DFT实现了频域采样,同时DFT存在快速算法FFT,在实际应用中,可以利用计算机,用DFT来逼近连续时间信号的傅里叶变换,进而分析连续时间信号频谱。补零点的作用仅仅是提高了计算分辨率,得到的是高密度频谱,并不能得到高分辨率谱,要提高频率分辨率,则要通过增加数据记录长度来提高物理分辨率。 1.7思考题回答
(1)对比设计内容2中(1)(2) (3)的图,说明补零DFT的作用。
由图可知DFT是有限长序列的频谱等间隔采样所得到的样本值,这就相当于透过一个栅栏去观察原来信号的频谱,因此必然有一些地方被栅栏所遮挡,这些被遮挡的部分就是未被采样到的部分,这种现象称为栅栏效应。如下图
由于栅栏效应总是存在的,因而可能会使信号频率中某些较大的频率分量由 …… 此处隐藏:3663字,全部文档内容请下载后查看。喜欢就下载吧 ……