数字信号处理课程设计(西安科技大学通信学院)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

通信与信息工程学院

数字信号处理课程设计(综合实验)

班级:电信XX班

姓名:XX

学号:XX

指导教师:李远征

设计时间:2013~2014学年第18~19周

成绩:

通信与信息工程学院

二〇一三年

设计一 正余弦信号的谱分析

【一】 设计目的

1. 用DFT 实现对正余弦信号的谱分析;

2. 观察DFT 长度和窗函数长度对频谱的影响;

3. 对DFT 进行谱分析中的误差现象获得感性认识。

【二】 设计原理

数字信号处理方法的一个重要用途是在离散时间域中确定一个连续时间信号的频谱,通常称为频谱分析,更具体地说,它也包括确定能量谱和功率谱。基于表征正余弦信号的基本参数,如振幅、频率和相位不随时间改变,则此信号的傅立叶变换)(ω

j e G 可以用计算

它的DTFT 得到

∑∞

-∞

=-=

n n

j j e

n g e G ωω

)()(

实际上无限长序列)(n g 首先乘以一个长度为M 的窗函数)(n w ,使它变成一个长为M 的有限长序列,)()()(1n w n g n g =,对)(1n g 求出的DTFT )(1ω

j e G 应该可以作为原连续

模拟信号)(t g a 的频谱估计,然后求出)(1ω

j e

G 在πω20≤≤区间等分为N 点的离散傅立

叶变换DFT 。为保证足够的分辨率,DFT 的长度N 选的比窗长度M 大,其方法是在截断了的序列后面补上N -M 个零。计算采用FFT 算法。

【三】 设计内容

1.

图1.1 设计内容1的运行结果

程序:

N=input('输入谱分析的长度');

n=0:N-1;

x1=cos(pi*20*n/64);

x2=cos(pi*22*n/64);

subplot(2,2,1),stem(n,x1)

xlabel('n');ylabel('x1(n)');

title('余弦序列');

subplot(2,2,2),stem(n,x2)

xlabel('n');ylabel('x2(n)');

title('余弦序列');

X1=abs(fft(x1,N));

subplot(2,2,3)

k=0:N-1;

stem(k,X1) %绘制序列的幅

xlabel('k');ylabel('X1(k)');

string=[num2str(N),'点FFT幅频曲线'];

X2=abs(fft(x2,N)); %求x2余弦序

subplot(2,2,4)

k=0:N-1;

stem(k,X2)

xlabel('k');ylabel('X2(k)');

string=[num2str(N),'点FFT幅频曲线'];

泄漏的原因:通过图可看出:频率为10Hz的余弦曲线DFT只有两个点不等于零,位于k=5和

k=27处,k=5对应于频率10Hz,k=27对应于频率54Hz(也就是-10Hz)。这样DFT确实正确的分辨了余弦信号的频率。但是这样的理想结果是恰巧得到的,此时我们借去了五个完整的余弦周期(f*N/Fs=5). 将频率改为11Hz,采样频率和窗长度依然为32点,计算图像可看出:频谱图上k=5和k=27处都有较大的峰值,而其它的点上幅度不再为零。这两个峰值对应的频率为10Hz和12Hz,所以,信号的峰值位于两者之间,本来是单一的11Hz频率的能量会分不到许多DFT频率上,这种现象叫频率泄露,来源于截断效应。

2.

图1.2 设计内容2的运行结果

程序:

N1=input('输入谱分析的长度');

N2=input('输入谱分析的长度');

N3=input('输入谱分析的长度');

N4=input('输入谱分析的长度');

n=0:16;

x=0.5*sin(pi*2*0.22*n)+sin (pi*2*0.34*n);

X1=abs(fft(x,N1)); %求余弦序列的N1点FFT

subplot(2,2,1)

k=0:N1-1;

stem(k,X1) %绘制序列的幅频特性曲线

xlabel('k');ylabel('X1(k)');

string=[num2str(N1),'点FFT幅频曲线'];

X2=abs(fft(x,N2)); %求余弦序列的N2点FFT

subplot(2,2,2)

k=0:N2-1;

stem(k,X2) %绘制序列的幅频特性曲线

xlabel('k');ylabel('X2(k)');

string=[num2str(N2),'点FFT幅频曲线'];

X3=abs(fft(x,N3)); %求余弦序列的N3点FFT

subplot(2,2,3)

k=0:N3-1;

stem(k,X3) %绘制序列的幅频特性曲线

xlabel('k');ylabel('X3(k)');

string=[num2str(N3),'点FFT幅频曲线'];

X4=abs(fft(x,N4)); %求余弦序列的N4点FFT

subplot(2,2,4)

k=0:N4-1;

stem(k,X4) %绘制序列的幅频特性曲线

xlabel('k');ylabel('X4(k)');

string=[num2str(N4),'点FFT幅频曲线'];

DFT长度对频谱分辨率的影响:DFT样本值就是其DTFT在相应位置的采样。在图中很难看出两个峰值,因此要提高它的分辨率,故把R增大,逐渐可以看出它有两个峰值,将k换算成数字频率f=w/2*pi=k/R.这样可确定峰值的位置大体在f=0.21和0.35之附近,与信号的给定频率有一定的误差,这也是截断和泄露带来的问题,在这图上还可以看到一些较小的峰,这是很难判断是输入信号固有的,还是由泄露引起的。这说明了增加DFT长度R减小了相邻样本间的频率间距,提高频谱的视在分辨率,因而可以提高样本未知的测定精度。

3.要能分清两个频率,分辨率至少应达到f=0.03.因为此处的数字频率是对采样频率Fs

相关文档
最新文档