数字信号处理及应用课程设计报告Word文件下载.docx
《数字信号处理及应用课程设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《数字信号处理及应用课程设计报告Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。
![数字信号处理及应用课程设计报告Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-10/11/7d023c56-084a-4208-ac12-9975edc4b050/7d023c56-084a-4208-ac12-9975edc4b0501.gif)
专业班级
电信092
起止时间
2014.12.28至2011.12.31
设计题目
设计一:
DFT在信号频谱中的应用设计
设计二:
有噪声情况下信号幅度谱的研究
指
导
教
师
评
语
年月日
目录
一、DFT在信号频谱分析中的应用
1.1设计目的…………………………………………………………………1
1.2设计原理…………………………………………………………………1
1.3实现方法…………………………………………………………………1
1.4设计内容及要求……………………………………………………………………1
1.5设计结果及改进建议………………………………………………………2
1.6思考题……………………………………………………………………8
二、有噪声情况下信号幅度谱的研究
2.1设计目的…………………………………………………………………9
2.2设计原理…………………………………………………………………9
2.3实现方法…………………………………………………………………9
2.4设计内容及要求……………………………………………………………………9
2.5设计结果及改进建议………………………………………………………13
2.6思考题……………………………………………………………………13
3、设计体会………………………………………………………………………………14
4、参考文献………………………………………………………………………………14
一、DFT在信号频谱中的应用
1.1设计题目
DFT在信号频谱中的应用
1.2设计原理
所谓信号的频谱分析就是计算信号的傅里叶变换。
连续信号与系统的傅里叶分析显然不便于直接用计算机进行计算,使其应用受到限制,而DFT是一种时域和频域均离散化的变换,适合数值运算,成为分析离散信号和系统的有力工具。
工程实际中,经常遇到的连续信号Xa(t),其频谱函数Xa(jW)也是连续函数。
数字计算机难于处理,因而我们采用DFT来对连续时间信号的傅里叶变换进行逼近,进而分析连续时间信号的频谱。
离散傅里叶变换是有限长序列的傅里叶变换,它相当于把信号的傅里叶变换进行等频率间隔采样,并且有限长序列的离散傅里叶变换和周期序列的离散傅里叶级数本质是一样的。
快速傅里叶变换(FFT)并不是一种新的变换,它是离散傅里叶变换的一种快速算法,并且主要是基于这样的思路而发展起来的:
(1)把长度为N的序列的DFT逐次分解成长度较短的序列的DFT来计算。
(2)利用WN(nk)的周期性和对称性,在DFT运算中适当的分类,以提高运算速度。
(对称性,;
周期性,r为任意整数)
1.3设计目的
1).熟悉DFT的性质。
2).加深理解信号频谱的概念及性质。
3).了解高密度谱与高分辨率频谱的区别。
1.4设计任务与要求
1).学习用DFT和补零DFT的方法来计算信号的频谱。
2).用MATLAB语言编程来实现,在做课程设计前,必须充分预习课本DTFT、DFT及补零DFT的有关概念,熟悉MATLAB语言,独立编写程序。
1.5设计内容
1).用MATLAB语言编写计算序列x(n)的N点DFT的m函数文件dft.m。
并与MATLAB中的内部函数文件fft.m作比较。
DFTmatlab.m源程序如下:
function[q]=DFTmatlab(xn,N)
n=[0:
1:
N-1];
%n取0到N-1
k=[0:
WN=exp(-j*2*pi/N);
%求WN
nk=n'
*k;
WNnk=WN.^nk;
q=xn*WNnk%求出xn的DFT表达式
2).DFT与FFT计算时间比较的源程序:
dft_time=zeros(1,100);
forn=1:
100;
t=clock;
%clock%将当前时间作为日期向量返回
a=sin(n)+cos(n);
DFTmatlab(a,n);
dft_time(n)=etime(clock,t);
%etime指消耗的时间
end;
n=1:
subplot(1,2,1);
plot(n,dft_time,'
.'
);
%plot二维曲线图
xlabel('
N'
ylabel('
time/s'
title('
DFT'
fft_time=zeros(1,100);
a1=sin(n)+cos(n);
fft(a1);
fft_time(n)=etime(clock,t);
subplot(1,2,2);
plot(n,fft_time,'
FFT'
运行结果截图:
DFT与FFT计算时间比较
3).对离散确定信号作如下谱分析:
截取使成为有限长序列N(),(长度N自己选)写程序计算出的N点DFT,画出时域序列图xn~n和相应的幅频图。
源程序如下:
n=0:
99;
xn=cos(0.48*pi*n)+cos(0.52*pi*n);
Xk=fft(xn,100);
subplot(2,1,1);
stem(n,xn);
grid;
subplot(2,1,2);
stem(n,abs(Xk));
低频信号截取100点时的幅频图
4).利用补零DFT计算
(1)中N点有限长序列频谱并画出相应的幅频图
源程序如下:
9;
xn=cos(0.48*pi*n)+cos(0.52*pi*n);
n1=0:
xn3=[xn,zeros(1,90)];
Xk3=DFTmatlab(xn3,100);
plot(n1,abs(Xk3));
运行结果截图;
利用补零DFT计算低频信号N点序列
4).研究高密度谱与高分辨率频谱。
对连续确定信号:
以采样频率fs=32kHz对信号采样得离散信号,分析下列三种情况的幅频特性。
①采集数据长度取N=16点,编写程序计算出的16点DFT,并画出相应的幅频图
T=1/(32*10^3);
t=(0:
15);
xn=cos(2*pi*6.5*10^3*t*T)+cos(2*pi*7*10^3*t*T)+cos(2*pi*9*10^3*t*T);
Xk=fft(xn,16);
stem(t,xn);
grid;
stem(t,abs(Xk));
运行结果截图:
计算高频信号16点的DFT
②采集数据长度N=16点,补零加长至M点(长度M自己选),利用补零DFT计算的频谱并画出相应的幅频图。
n1=0:
50;
xn1=[xn,zeros(1,35)];
Xk1=fft(xn1,51);
stem(n1,xn1);
plot(n1,abs(Xk1));
高频信号补零至50点的频谱
③采集数据长度取为M点(注意不是补零至M),编写程序计算出M点采集数据的的频谱并画出相应的幅频图。
t=[0:
50];
Xk2=fft(xn,51);
plot(t,abs(Xk2));
高频信号取长度为50点的频谱
由以上的结果可知,DFT所需时间比FFT长很多,既FFT是DFT的一种快速算法。
1.6简要回答如下思考题:
(1)对比设计内容2中
(1)
(2)(3)的图,说明补零DFT的作用。
答:
DFT是有限长序列的频谱等间隔采样所得到的样本值,这就相当于透过一个栅栏去观察原来信号的频谱,因此必然有一些地方被栅栏所遮挡,这些被遮挡的部分就是未被采样到的部分,这种现象称为栅栏效应。
由于栅栏效应总是存在的,因而可能会使信号频率中某些较大的频率分量由于被“遮挡”二无法得到反映。
此时,通常在有限长序列的尾部增补若干个零值,介意改变原序列的长度。
这样加长的序列作DFT时,由于点数增加就相当于调整了原来栅栏的间隙即间隔频率,可以使得原来的不到反映的那些较大的频率分量落在采样点上而得到反映。
但要注意,由于栅栏效应,使得被分析的频谱变得较为稀疏,为此,在采样样本序列x(n)后补零,在数据长度不变的情况下,可以改变频谱的频率取样密度,得到高密度频谱。
(2)解释设计内容3中图和图有什么区别?
补零DFT能否提高信号的频谱分辨率,说明提高频谱密度、频谱分辨率的措施各是什么?
答:
补零作用不能提高信号的频谱分辨率,因在x(n)后面补零并没有增加新的信息量,改善的仅是栅栏效应,所以补零是不能提高频率分辨率的,即得不到高分辨率谱。
这说明,补零仅仅是提高了计算分辨率,得到的是高密度频谱,而要得到高分辨率谱,则要通过增加数据的记录长度来提高物理分辨率。
二、有噪声情况下信号幅度谱的研究
2.1设计目的
1.了解并掌握白噪声的产生方法。
2.了解并掌握正弦信号及白噪声信号的相关函数求法。
2.2设计原理
白噪声,是在无限频率范围内功率密度为常数的信号是一种功率谱密度为常数的随机信号。
连续时间白噪声信号的自相关函数是一个δ函数,在除τ=0之外的所有点均为0。
维纳-辛钦定理(Winener-Khinchintheorem)表明,自相关函数和功率谱密度函数是一对傅里叶变换对。
2.3实现方法
1.鉴于matlab多用矩阵,因此程序中运用矩阵来定义白噪声信号,当给定正弦信号后,正弦信号与白噪声信号相加,即正弦信号中混有白噪声。
2.调用Matlab工具箱提供的计算随机信号的相关函数:
xcorr。
若函数用于计算x(n)的自相关,则调用格式:
c=xcorr(x,y,’option’)其中:
‘option’为选择项
若为’biased’:
代表有偏互相关估计
若为’unbiased’:
代表无偏互相关估计
2.4设计内容及要求
1.编写产生均匀分布白噪声序列的M函数文件drand.m。
Drand.m源程序如下:
p=0.01;
N=50000;
%点数
u=rand(1,N);
%均匀矩阵
u=u-mean(u);
a=sqrt(12*p);
u1=u*a;
%定义白噪声
power_u1=dot(u1,u1)/N%白噪声功率的求法
subplot(21