数字信号处理课设

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

数字信号处理课程设计

姓名:刘倩

学号:201014407

专业:信息与计算科学

实验一:常见离散信号产生和实现

一、实验目的:

1、加深对常用离散信号的理解;

2、掌握matlab 中一些基本函数的建立方法。

二、实验原理:

1.单位抽样序列

⎩⎨⎧=01

)(n δ 0

0≠=n n 在MATLAB 中可以利用zeros()函数实现。

;

1)1();,1(==x N zeros x 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:

⎩⎨⎧=-01)(k n δ 0

≠=n k n 2.单位阶越序列

⎩⎨⎧0

1)(n u 00<≥n n 在MATLAB 中可以利用ones()函数实现。

);,1(N ones x =

3.正弦序列

)/2sin()(ϕπ+=Fs fn A n x

在MATLAB 中

)

/***2sin(*1:0fai Fs n f pi A x N n +=-= 4.复指数序列

n j e r n x ϖ⋅=)(

在MATLAB 中

)

**ex p(1:0n w j r x N n ⋅=-= 5.指数序列

n a n x =)(

在MATLAB 中

n

a x N n .^1:0=-= 实验内容:由周期为10的正弦函数生成周期为20的余弦函数。

实验代码:

n=0:30;

y=sin(0.2*pi*n+pi/2);

y1=sin(0.1*pi*n+pi/2);

subplot(121)

stem(n,y);

xlabel ('时间序列n');ylabel('振幅');title('正弦函数序列y=sin(0.2*pi*n+pi/2)'); subplot(122)

stem(n,y1);

xlabel ('时间序列n');ylabel('振幅');

title('正弦函数序列y=sin(0.2*pi*n+pi/2)');

实验结果:

实验二:离散系统的时域分析

实验目的:加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。

实验原理:离散系统

其输入、输出关系可用以下差分方程描述:

∑∑==-=-M

k k N k k k n x p k n y d

00][][ 输入信号分解为冲激信号,

∑∞

-∞=-=

m m n m x n x ][][][δ。 记系统单位冲激响应 ][][n h n →δ,

则系统响应为如下的卷积计算式:

∑∞

-∞=-=

*=m m n h m x n h n x n y ][][][][][ 当N k d k ,...2,1,0==时,h[n]是有限长度的(n :[0,M]),称系统为FIR 系统;反之,称系统为IIR 系统。

在MATLAB 中,可以用函数y=filter(p,d,x)实现差分方程的仿真,也可以用函数 y=conv(x,h)计算卷积,用y=impz(p,d,N)求系统的冲激响应。

实验内容:用MATLAB 计算全解

当n>=0时,求用系数差分方程y[n]+y[n-1]-6y[n-2]=x[n]描述的一个离散时间系统对阶跃输入x[n]=8μ[n]的全解。

实验代码:

n=0:7;

>> [y,sf]=filter(1,[1 1 -6],8*ones(1,8),[-7 6]);

>> y1(n+1)=-1.8*(-3).^n+4.8*(2).^n-2;

>> subplot(121)

>> stem(n,y);

>> title('由fliter 函数计算结果');

>> subplot(122)

>> stem(n,y1);

>> title('准确结果');

实验结果:

结果分析:有图可得由fliter函数得出的结果与计算出的准确结果完全一致。

实验三FFT算法的应用

实验代码:实验目的:加深对离散信号的DFT的理解及其FFT算法的运用。

实验原理:N点序列的DFT和IDFT变换定义式如下:

利用旋转因子具有周期性,可以得到快速算法(FFT)。

在MATLAB中,可以用函数X=fft(x,N)和x=ifft(X,N)计算N点序列的DFT正、反变换。

实验步骤:(1)画出标准的12点离散余弦函数的DFT幅度函数

(2)在原来的离散点后补零,使点数增加到16点,画出离散余弦函数的DFT幅度函数(2)保持波形,增加点数

N=12;

n=0:11;

x1=cos(2*n*pi/6);

subplot(3,2,1);

stem(n,x1);

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

subplot(3,2,2);

stem(n,X1);

n1=0:15;

x2=[x1 zeros(1,4)];

subplot(3,2,3);

stem(n1,x2);

X2=fft(x2);X2=abs(X2);

subplot(3,2,4);

stem(n1,X2);

n2=0:23;

x3=cos(2*n2*pi/12);

subplot(3,2,5);

stem(n2,x3);

X3=fft(x3);X3=abs(X3);

subplot(3,2,6);

stem(n2,X3);

实验结果:

理论分析:(1)由图可以看出,离散余弦函数的12点DFT是一个冲击响应,在n=1,n=10时有

对,其2N点的DFT变换为:

当时, =0

当时,即

因此X[k]在k=2,k=10时有值,其他值为零。

(2)第二幅图是在离散时间序列的一边补四个零,使得离散点数位2的4次幂,然后对其做fft,由图可以看出图像的分辨率并没有提高,只是让图显得光滑了,这是因为,补的值是零值而不是抽到的余弦函数本身的值

相关文档
最新文档