数字信号处理课程设计报告DOC

数字信号处理课程设计报告DOC
数字信号处理课程设计报告DOC

本科生课程设计报告

课程名称数字信号处理课程设计指导教师赵亚湘

学院信息科学与工程学院专业班级通信工程1301班姓名

学号

摘要 (1)

一、课程设计目的 (2)

二、课程设计内容 (2)

三、设计思想和系统功能分析 (3)

3.2问题二的设计分析 (4)

3.3问题三的设计分析 (5)

3.4问题四的设计分析 (6)

3.5 GUI的设计分析 (7)

四、数据测试分析 (8)

4.1 问题一数据测试分析 (8)

4.2 问题二数据测试分析 (11)

4.3 问题三数据测试分析 (16)

4.4 问题四数据测试分析 (19)

4.5 GUI测试分析 (27)

五、问题及解决方案 (29)

5.1 设计过程 (29)

5.2 遇到的具体问题 (30)

六、设计心得体会 (31)

参考文献 (32)

附录

通信工程专业的培养目标是具备通信技术的基本理论和应用技术,能从事电子、信息、通信等领域的工作。鉴于我校充分培养学生实践能力的办学宗旨,对本专业学生的培养要进行工程素质培养、拓宽专业口径、注重基础和发展潜力。特别是培养学生的创新能力,以实现技术为主线多进行实验技能的培养。通过《数字信号处理》课程设计这一重要环节,可以将本专业的主干课程《数字信号处理》从理论学习到实践应用,对数字信号处理技术有较深的了解,进一步增强学生动手能力和适应实际工作的能力。

数字信号处理课程主要是采用计算机仿真软件,以数值计算的方法对信号进行分析、变换、滤波、检测、估计与识别等加工处理,以达到提取信息便于使用的目的。数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技术与设备所无法比拟的。

数字信号处理的核心算法是离散傅立叶变换(DFT),是DFT使信号在数字域和频域都实现了离散化,从而可以用通用计算机处理离散信号。而使数字信号处理从理论走向实用的是快速傅立叶变换(FFT),FFT的出现大大减少了DFT的运算量,使实时的数字信号处理成为可能、极大促进了该学科的发展。

数字信号处理课程设计主要使用的仿真软件是MATLAB,MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户接口、连接其它编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

关键词:数字信号处理 MATLAB 课程设计 DFT

一、课程设计目的

1.全面复习课程所学理论知识,巩固所学知识重点和难点,将理论与实践很好地结合起来;

2.提高综合运用所学知识独立分析和解决问题的能力; 3.熟练使用一种高级语言进行编程实现。

二、课程设计内容

课程设计选题组五:

1. 设一序列x n ()含有三种频率成分:1232,

2.05, 1.9, f kHz f kHz f kHz ===采样频率10s f kHz =,分别取1264, 128N N ==点数据作频谱特性分析,分别绘出x n ()、x n ()的64点DFT 、64点x n ()补0到128点时的DFT 、128点x n ()的DFT 波形,

比较说明在哪种情况下可以清楚地分别出信号的频率分量。

2. 三点平滑滤波器(FIR )的表达式为 因此M 点平滑滤波器的表达式可表示成

101()()M k y n x n k M -==-∑ 令:247()cos()50S n n π

= 1()cos()10S n n π= S1是低频正弦信号,S2是高频正弦信号 令 12x n s n s n =+()()() 要求:

(1)M=3时,写出平滑滤波器的单位脉冲响应h(n)

(2)分别画出1()s n 、2()s n 、x n ()和M=3时的输出()y n 的波形图。并分析平滑滤

波器的特性。

(3)改变M 的值(如令M=5,7,11),画出它们对应的输出()y n 。分析M 的大小对滤波器的影响。

(4)对于四个不同的M 值,分别画出滤波器对应的幅频特性曲线。

3.利用巴特沃斯滤波器原型设计一个数字带通滤波器,使其满足:

12120.4, 0.5, 3dB 0.2, 0.7, 30dB p p p s s s A A ωπωπωπωπ======

采用数字域频率变换法、双线性变换法。T =1。(要求:应尽量避免使用现成的工具箱函数)

1

()(()(1)(2))

3

y n x n x n x n =+-+-

4. 倒频系统实现

倒频是目前对讲机采用的一种语音保密技术。它是将信号的高频和低频进行交换,即将信号的高频部分搬到低频段,而将低频部分搬到高频段。倒频后的信号和原始信号具有相同的频带范围。由于原始语音信号的频率成分被置乱从而降低了可懂度,起到语音保密作用。在接受端采用同样的倒频器再将信号恢复。

倒频系统的工作原理如图所示,设输入信号的最高角频率为m ω。图中HP 是理想高通滤波器,其截止角频率为b ω,LP 为理想低通滤波器,其截止角频率为m ω, 根据倒频系统的原理框图,要求: (1)读入或录制一段语音信号

(2)利用FFT 分析语音信号频谱分布特性。

(3)选择角频率b ω和m ω,设计相应的低通、高通滤波器,画出滤波器的幅频特性。

(4)利用倒频系统对语音信号进行加密和解密,画出语音信号在加密前和加密后的时域和频域波形图,并通过语音回放验证加密和解密的效果。

三、设计思想和系统功能分析

3.1问题一的设计分析

设计要求:

因为f1=2Hz,f2=2.05Hz,f3=1.9Hz 采样频率为fs=10Hz,所以构造余弦序列x(n)=cos(2n πf1/fs)+ cos(2n πf2/fs)+ cos(2n πf3/fs),该序列满足上述三个频率分量,分别取128,6421==N N 点数据作频谱特性分析,分别绘出x(n),x(n)的64点DFT 、64点x(n)补0到128点时的DFT 、128点x(n)的DFT 波形。 设计原理:

1. 设x(n)是一个长度为M 的有限长序列,则定义x(n)的N 点离散傅里叶变换为:

1

0()[()](), k=0, 1, &, N-1 (3.1.1)

N kn N n X k DFT x n x n W -===∑

2. DFT 是信号分析与处理中的一种重要变换。因直接计算DFT 的计算量与变换区间长度N 的平方成正比,当N 较大时,计算量太大,所以行谱分析和信号的实时处理采用快速傅里叶变换(简称FFT)。

/21

/21

1/2

2/2120

()()()()()

N N kr k kr k

N N

N N r r X k x r W

W

x r W X k W X k --===

+=+∑

3. 进行MATLAB 仿真时采用函数Y=fft(y,N)可以对离散序列进行N 点DFT 变换,将时域上的信号变换到频域,进行归一化得到频谱特性。

4. N 点DFT 是在频率区间[0,2π]对时域离散信号的频谱进行N 点等间隔采样,而采样点之间的频谱时看不到的。就好像从N 个栅栏缝隙中观察信号的频谱情况,仅得到N 个缝隙中看到的频谱函数值。因此称这种现象为栅栏效应。由于栅栏效应,有可能漏掉大的频谱分量,为了把原来被“栅栏”挡住的频谱分量检测出来,对于有限长序列,可以在原序列尾部补零;对于无限长序列,可以增大截取长度及DFT 的变换空间,从而使频率的采样间隔变小,增加频域采样点数和采样点位置,使原来漏掉的某些频谱分来那个被检测出来。

3.2问题二的设计分析

设计要求: M 点平滑滤波器:

10

1

()()

M k y n x n k M

-==

-∑

12x n s n s n

=+()()() 绘制1()s n 、2()s n 、x n ()和M=3时的输出()y n 的波形图,并分析平滑滤波器的特

性。改变M 的值(如令M=5,7,11),画出它们对应的输出()y n ,分析M 的大小对滤波器的影响,对于四个不同的M 值,分别画出滤波器对应的幅频特性曲线。 设计原理:

1. 三点平滑滤波器是一个线性时不变的有限冲激响应系统,将输出延时一个抽样周期,可得到三点平滑滤波器的因果表达式,生成的滤波器表示为:

1

()(()(1)(2))

3y n x n x n x n =+-+- 归纳上式可得

10

1()()

M k y n x n k M

-==

-∑ 此式表示了一个因果M 点平滑FIR 滤波器。

2. 对线性离散时间系统,若y1(n)和y2(n)分别是输入序列x1(n)和x2(n)的响应,则输入 )(2)(1)(n x n x n x βα+=的输出响应为 )(2)(1)(n y n y n y βα+=,则系统称为线性系统。

3. 对于离散时不变系统,若y1(n)是x1(n)的响应,则输入 x(n)=x1(n-n0) 的输出响应为 y(n)=y1(n-n0),则称系统为时不变系统。

4.运用函数y=filter(A,B,X)计算输入信号x 的滤波输出,其中B,A 分别表示为滤波器传递函数的分子和分母系数向量(按降幂排列)。Y = filter(B,A,X) ,输入X 为滤波前序列,Y 为滤波结果序列,B/A 提供滤波器系数,B 为分子,A 为分母 整个滤波过程是通过下面差分方程实现的:

na)-y(n 1)+a(na -…… - 1)-y(n a(2) -

nb)-x(n 1)+b(nb + + 1)-x(n b(2) + x(n)b(1) = y(n)a(1)????????

利用filter 函数构造M 点平滑滤波器。

5. 进行MATLAB 仿真时采用函数Y=fft(y,N)可以对离散序列进行N 点DFT 变换,利用MATLAB 离散傅里叶变换函数对序列进行频谱变换,将时域上的信号变换到频域,进行归一化得到频谱特性。通过MATLAB 频谱波形图分析信号频谱成分。

3.3问题三的设计分析

设计要求:

利用双线性法基于MATLAB 以巴特沃斯滤波器原型设计一个数字带通滤波器 技术指标:

12120.4, 0.5, 3dB 0.2, 0.7, 30dB

p p p s s s A A ωπωπωπωπ======

设计原理:

1. 巴特沃斯原理 实际的滤波电路往往难以达到理想的要求,如要同时在幅频和相频响应两方面都满足要求就更为困难。因此,只有根据不同的实际需要,寻求最佳的近似理想特性。例如,可以主要着眼于幅频响应,而不考虑相频响应,也可以从满足相频响应出发,而把幅频响应居于次要位置。介绍一种最简单也是最常用的滤波电路——巴特沃斯滤波电路(又叫最平幅度滤波电路)。这种滤波电路对幅频响应的要求是:在小于截止频率c ω的范围内,具有最平幅度的响应, 而在

c ωω>后,幅频响应迅速下降。

2.带通数字滤波器的设计方法:

(1)确定带通数字滤波器的技术指标。

(2)将带通数字滤波器的边界频率转换成带通模拟滤波器的边界频率,转换公式

为:ω21

tan 2T =Ω

(3)将带通模拟滤波器技术指标转换成低通模拟滤波器技术指标。 (4)设计模拟低通滤波器。

(5)通过频率变换将模拟低通滤波器转换成带通过渡模拟滤波器。 (6)采用双线性变换法将带通过渡模拟滤波器转换成带通数字滤波器。

3.4问题四的设计分析

设计要求:

录制一段语音信号,通过倒频系统将信号的高频和低频进行交换,即将信号的高频部分搬到低频段,而将低频部分搬到高频段。倒频后的信号和原始信号具有相同的频带范围。由于原始语音信号的频率成分被置乱从而降低了可懂度,起到语音保密作用。在接受端采用同样的倒频器再将信号恢复。选择角频率b ω和m ω,设计相应的低通、高通滤波器,画出滤波器的幅频特性。利用倒频系统对语音信号进行加密和解密,画出语音信号在加密前和加密后的时域和频域波形图,并通过语音回放验证加密和解密的效果。 设计原理:

1. 针对数字信号处理的对象是一段音频文件,进行MATLAB 仿真时使用声音数据输入输出函数:[y,f,bits]=wavread(path:/音频文件名.wav)用于读入音频文件,并可控制其中的位及频率。

2. DFT 是信号分析与处理中的一种重要变换。因直接计算DFT 的计算量与变换区间长度N 的平方成正比,当N 较大时,计算量太大,所以行谱分析和信号的实时处理采用快速傅里叶变换(简称FFT)。

/21

/21

1/2

2/2120

()()()()()

N N kr

k kr k

N N

N N r r X k x r W

W

x r W X k W X k --===

+=+∑

进行MATLAB 仿真时采用函数Y=fft(y,N)可以对离散序列进行N 点DFT 变换,将时域上的信号变换到频域,进行归一化得到频谱特性,根据此原理可对读入的语音信号进行频谱分析。

3. 切比雪夫滤波器的振幅具有等波纹特性,它有两种形式:

(1)振幅特性在通带内是等波纹的、在阻带内是单调的切比雪夫I 型滤波器。 (2)振幅特性在通带内是单调的、在阻带内是等波纹的切比雪夫II 型滤波器,采用何种形式的切比雪夫滤波器取决于实际用途。

切比雪夫滤波器的设计方法就是将逼近精确度均匀分布在整个通带内,或者均匀分布在整个阻带内,或者均匀分布在两者之内,这样就可以使滤波器阶数大大降低。

切比雪夫I 型滤波器平方幅度响应函数表示为:

2

)(Ωj G =[1+2εC 2N

(Ω)]2

/1- 其中 ε<1(正数),它与通带波纹有关,ε越大,波纹也越大;C N (Ω) 是切比雪夫多项式,它被定义为:

C N (Ω)=cos(Narccos(Ω)),Ω≤1, C N (Ω)=cosh(Narcosh(Ω)),Ω>1. 切比雪夫II 型滤波器平方幅度响应函数表示为:

)(Ωj G 2={1+2ε{ C 2N (Ω)/[2

N (Ω/

c Ω)]2}}1- 其中 ε<1(正数),表示波纹变化情况;c Ω为截止频率;N 为滤波器的阶次,也是 C N (N ΩΩ/) 的阶次。

4. 语音加密解密是将语音信号通过倒频系统,倒频系统的工作原理如图所示,设输入信号的最高角频率为m ω,HP 是理想高通滤波器,其截止角频率为b ω,LP 为理想低通滤波器,其截止角频率为m ω。倒频后的信号和原始信号具有相同的频带范围。由于原始语音信号的频率成分被置乱从而降低了可懂度,起到语音保密作用,在接受端采用同样的倒频器再将信号恢复。

3.5 GUI 的设计分析

设计要求:

演示系统使用GUI 界面或混合编程实现集成打包发布。

设计原理:

本次课程设计由于结果中图形太多,若一次性完成所以题目的演示则需要开创许多个新的窗口进行图形建立,这样不方便验收及查看。所以最后决定采用图形用户(Graphical User Interface ,简称 GUI )界面。GUI 是 Graphical User Interface 的

简称,即图形用户界面,通常人机交互图形化用户界面设计经常读做“goo-ee ”,准确来说 GUI 就是屏幕产品的视觉体验和互动操作部分。GUI 是一种结合计算机科学、美学、心理学、行为学,及各商业领域需求分析的人机系统工程,强调人—机—环境三者作为一个系统进行总体设计。

四、数据测试分析

4.1 问题一数据测试分析

功能实现:

设一序列x n ()含有三种频率成分:1232, 2.05, 1.9, f kHz f kHz f kHz ===采样频

率10s f kHz =,分别取1264, 128N N ==点数据作频谱特性分析,分别取

1264, 128N N ==点数据作频谱特性分析,分别绘出x n (

)、x n ()的64点DFT 、64点x n ()补0到128点时的DFT 、128点x n ()的DFT 波形,比较说明在哪种情况下

可以清楚地分别出信号的频率分量。

(1)构造满足三个频率分量的余弦序列x(n)并得到x(n)的采样图 fs=10;

f1=2;f2=2.05;f3=1.9; n=0:1:N1-1;

xn=[cos(2*pi*n*f1/fs)+cos(2*pi*n*f2/fs)+cos(2*pi*n*f3/fs)];%满足条件的余弦序列

(2)对x(n)进行不同N 点的傅里叶运算得到x n ()的64点DFT 、64点x n ()补0到128点时的DFT 、128点x n ()的DFT

N1=64;

Xk=fft(xn,N1);%对x(n)进行64点DFT 运算 F=abs(Xk); stem(n,F,'.'); N2=128; n=0:1:N2-1;

xn=[xn zeros(1,N2-N1)];%对64点采样序列x(n)进行补零到128点 Xk=fft(xn,N2);

AXk=abs(Xk); %对补零到128点的序列进行DFT 运算 stem(n,AXk,'.'); Xk=fft(xn,N2);

AXk=abs(Xk);%对x(n)进行128点DFT 运算 stem(n,AXk,'.');

(3)运行程序得到结果:

图1 余弦序列x(n)图像

图2 X(k)64点DFT图像

图3 X(k)64点补零到128点DFT图像

图4 X(k)128点DFT图像

数据分析:

因为采样最小点数为82点,所以当N1=64点采样时进过DFT变换由于展览效应不能分辨出原始正弦信号的频谱,如图2所示;64点采样经补零到128点后对频谱分辨率没有影响只是对频谱起到了平滑作用,补零仅使采样间隔变小,但得到的频谱采样的包络仍是已经变模糊的频谱,所以频谱分辨率没有提高,如图3所示;采样N2=128点的正弦序列因满足采样点数N 2fh/F,所以可以清楚的分辨出信号的频谱成分,如图4所示。增大DFT的变换空间和截取长度,使频率的采样间隔变小,增加频域采样点数和采样点位置,使原来漏掉的某些频谱分来那个被检测出来。

4.2 问题二数据测试分析

功能实现:

M 点平滑滤波器可以表示:1

1

()()M k y n x n k M

-==-∑ 其中,1()cos()10

S n n π= 247()cos()50

S n n π= S1是低频正弦信号,S2是高频正弦信号 令 12x n s n s n

=+()()() (1)M=3时,写出平滑滤波器的单位脉冲响应h(n)。

当M=3时,三点平滑滤波器可以表示为:1()(()(1)(2))3

y n x n x n x n =+-+-

要求单位脉冲响应h(n),令输入=)(n δ,则可得到h(n)={3

1

3131,,}

(2)分别画出1()s n 、2()s n 、x n ()和M=3时的输出()y n 的波形图。并分析平滑滤

波器的特性。 n=0:100;

s1=cos(2*pi*0.05*n); s2=cos(2*pi*0.47*n); x=s1+s2; M=3;

num=ones(1,3);

y1=filter(num,1,x)/M;%构造M 点滤波器的表达式 stem(n,s1,'.'); stem(n,s2,'.'); stem(n,x,'.'); stem(n,y1,'.');

图5 M=3,s1(n)的波形图

图6 M=3,s2(n)的波形图

图7 M=3,x(n)的波形图

图8 M=3,y1(n)的波形图

y n。分析M的大小对改变M的值(如令M=5,7,11),画出它们对应的输出()

滤波器的影响。

M=3;

num=ones(1,11);

y1=filter(num,1,x)/M;%构造M点滤波器的表达式

M=5;

y2=filter(num,1,x)/M;

M=7;

y3=filter(num,1,x)/M;

M=11;

y4=filter(num,1,x)/M;

stem(n,y1,'.'); stem(n,y2,'.');

stem(n,y3,'.'); stem(n,y4,'.');

图9 M=5,y1(n)的波形图

图10 M=7,y1(n)的波形图

图11 M=11,y1(n)的波形图

(3)对于四个不同的M值,分别画出滤波器对应的幅频特性曲线。N1=length(y1)+1;N2=length(y2)+1;

N3=length(y3)+1;N4=length(y4)+1;

f1=0:1/(N1/2):1-1/(N1/2);f2=0:1/(N2/2):1-1/(N2/2);

f3=0:1/(N3/2):1-1/(N3/2);f4=0:1/(N4/2):1-1/(N4/2);

Y1=abs(fft(y1));Y2=abs(fft(y2));

Y3=abs(fft(y3));Y4=abs(fft(y4));

stem(f1,Y1(1:N1/2),'.');

stem(f2,Y2(1:N2/2),'.');

stem(f3,Y3(1:N3/2),'.');

stem(f4,Y4(1:N4/2),'.');

图12 M=3,信号频谱特性曲线

图13 M=5,信号频谱特性曲线

图14 M=7,信号频谱特性曲线

图15 M=11,信号频谱特性曲线

数据分析:

平滑滤波器(FIR )允许地狱截止频率的信号通过,但高于截止频率的信号被数字滤波器滤除,具有低通特性。s1、s2、x 信号与M 值无关,至三个信号不受M 值的影响。观察(图8-图11)输出信号的波形和(图12-图15)频谱仿真图,y 信号的幅值随M 值的增大而减小,原因是M 值增大使低通滤波器的长度增长了,同时噪声也随M 值的增大而减少,降低了滤波器的截止频率从而使滤波器的滤波效果则更明显,所以输出信号的频谱特性图像尾部突起的频率分量(即噪声)随着M 值的增大而减小。

4.3 问题三数据测试分析

功能实现:

利用巴特沃斯滤波器原型设计一个数字带通滤波器,采用数字域频率变换法、双线性变换法。T =1。(要求:应尽量避免使用现成的工具箱函数)

技术指标:通带下截止频率πω4.01=p ,上截止频率πω5.02=p ,通带内最大衰减

dB p 3=α;阻带下截止频率πω2.01=s 上截止频率πω7.02=s ,阻带最小衰减dB s 30=α。

针对问题三滤波器的设计,分别对使用工具函数和不实用工具函数进行比较,得到的波形一致,可认为带通滤波器设计的模拟过程正确。 使用工具函数: T=1;ft=1/T;

wp1=0.4*pi;wp2=0.5*pi; wp=[wp1,wp2];wpt=wp/ft; ws1=0.2*pi;ws2=0.7*pi; ws=[ws1,ws2];wst=ws/ft; rp=3;rs=30;

Op=2*ft*tan(wpt/2);Os=2*ft*tan(wst/2);

[N,Wn]=buttord(Op,Os,rp,rs,'s');%计算滤波器的阶数N 和截止频率Wn [Bt,At]=butter(N,Wn,'s');%设计一个N 阶巴特沃斯滤波器 [Bz,Az]=bilinear(Bt,At,ft);%双线性变换为数字滤波器 [H,W]=freqz(Bz,Az);%求数字滤波器的频率响应 subplot(2,2,1);plot(W*ft/(2*pi),abs(H)); grid on;xlabel('频率');ylabel('幅值');

title('数字滤波器幅频响应曲线(工具函数)'); subplot(2,2,2);plot(W*ft/(2*pi),angle(H)); grid on;xlabel('频率');ylabel('相位'); title('数字滤波器相频特性曲线(工具函数)'); 不使用工具函数:

(1)确定带通数字滤波器的技术指标。

(2)将带通数字滤波器的边界频率转换成带通模拟滤波器的边界频率,转换公式为:ω2

1tan 2T =

Ω (3)将带通模拟滤波器技术指标转换成低通模拟滤波器技术指标。 (4)设计模拟低通滤波器。

(5)通过频率变换将模拟低通滤波器转换成带通过渡模拟滤波器。 (6)采用双线性变换法将带通过渡模拟滤波器转换成带通数字滤波器。

wp1=0.4*pi;wp2=0.5*pi; ws1=0.2*pi;ws2=0.7*pi; T=1; ft=1/T;

Rp1=2/T*tan(wp1/2);Rp2=2/T*tan(wp2/2); Rs1=2/T*tan(ws1/2);Rs2=2/T*tan(ws2/2); Rs11=Rp1*Rp2/Rs2; Ap=3;As=30;

Rs=(Rp1*Rp2-Rs11*Rs11)/(Rs11*(Rp2-Rp1)); Rp=1;

ksp=sqrt((10^(0.1*As)-1)/(10^(0.1*Ap)-1)); Rsp=2*pi*Rs/(2*pi*Rp); n=log10(ksp)/log10(Rsp); N=ceil(n)

图16 数字滤波器幅频响应曲线(非工具函数)

图17 数字滤波器相频特性曲线(非工具函数)

两个方法进行对比:得到的数字带通滤波器特性一致,可认为模拟带通滤波器的设计过程正确。

相关主题
相关文档
最新文档