数字信号处理1

时间:2024.4.20

《数字信号处理》课程实践报告

频率采样法设计FIR数字滤波器

          

频率采样法设计FIR数字滤波器

一、实验原理:

设所希望得到的滤波器的理想频率响应为,那么由系统函数的内插公式为:

                  (10-1)

其中是频率采样值

                             (10-2)

为我们提供了一条从频域设计逼近的途径。

即令

                            (10-3)

则对的逼近为

                           (10-4)

至少在采样点的频率上,两者可以具有相同的频响,即

                        (10-5)

当需要设计线性相位FIR滤波器时,还必须注意,采样值的幅度和相位一定要遵循线性相位滤波器幅度与相位的四种不同的约束关系。

设计所得的频率响应逼近于理想频率响应的程度与理想特性有关,如果越平缓,则越逼近;反之,如果变化越剧烈,采样点之间的理想特性变化大,则内插值与理想值的误差就越大,因而在理想特性的每一个不连续点附近都会出现肩峰与起伏,不连续性越大,出现的肩峰和起伏也越大。为了解决这一问题,在理想特性不连续点的边缘加过渡的采样点,这样虽然加宽了过滤带,但缓和了边缘上两采样点之间的突变。因而将有效地减少起伏振荡,提高阻带的最小衰减。

因此频率采样法的设计过程为:

给定

为了检验所设计的的逼近性能,我们可以如下做检验:

在做FT中,我们可以取点数大于N的DFT代替之。 

二、.设计步骤

(1)由给定的理想滤波器给出

(2)由式       , 求得

(3)根据求得

三、实验内容

1.采用频率采样设计法设计FIR数字低通滤波器,满足以下指标

 

(1)取N=20,过渡带没有样本。

(2)取N=40,过渡带有一个样本,T=0.39。

(3)取N=60,过渡带有两个样本,T1=0.5925,T2=0.1009。

(4)分别讨论采用上述方法设计的数字低通滤波器是否能满足给定的技术指标。

实验代码与实验结果:

(1)N=20  过渡带没有样本

matlab程序

N=20;

alpha=(N-1)/2;

l=0:N-1;

wl=(2*pi/N)*l;

Hrs=[1,1,1,zeros(1,15),1,1];         *对理想幅度函数取样得到取样样本

Hdr=[1,1,0,0];wdl=[0,0.25,0.25,1];   *用于绘制理想函数幅度函数的曲线

k1=0:floor((N-1)/2);

k2=floor((N-1)/2)+1:N-1;

angH=[-alpha*(2*pi)/N*k1,alpha*(2*pi)/N*(N-k2)];

H=Hrs.*exp(j*angH);                   *计算H(k)

h=ifft(H,N);                          *计算h(n)

w=[0:500]*pi/500;

H=freqz(h,1,w);                       *计算幅度响应

[Hr,wr]=zerophase(h);                 *计算幅度函数

subplot(221);

plot(wdl,Hdr,wl(1:11)/pi,Hrs(1:11),'o');

axis([0,1,-0.1,1.1]);

xlabel('\omega(\pi)');

ylabel('Hr(k)');

subplot(222);

stem(l,h,'filled'); 

axis([0,N-1,-0.1,0.3]);

xlabel('n');ylabel('h(n)');

subplot(223);

plot(wr/pi,Hr,wl(1:11)/pi,Hrs(1:11),'o');

axis([0,1,-0.2,1.2]);

xlabel('\omega(\pi)');

ylabel('Hr(w)');

subplot(224);

plot(w/pi,20*log10((abs(H)/max(abs(H))))); 

axis([0,1,-50,5]);

grid;xlabel('\omega(\pi)');

ylabel('dB');

(2)N=40 过渡带有一个样本,T=0.39

Matlab程序:

N=40;

alpha=(N-1)/2;

l=0:N-1;wl=(2*pi/N)*l;

Hrs=[1,1,1,1,1,0.39,zeros(1,29),0.39,1,1,1,1];    *设置过渡带样本

Hdr=[1,1,0.39,0,0];wdl=[0,0.2,0.25,0.3,1];

k1=0:floor((N-1)/2);

k2=floor((N-1)/2)+1:N-1;

angH=[-alpha*(2*pi)/N*k1,alpha*(2*pi)/N*(N-k2)];

H=Hrs.*exp(j*angH);

h=ifft(H,N);

w=[0:500]*pi/500;

H=freqz(h,1,w);

[Hr,wr]=zerophase(h); 

subplot(221);

plot(wdl,Hdr,wl(1:21)/pi,Hrs(1:21),'o'); 

axis([0,1,-0.1,1.1]);

xlabel('\omega(\pi)');

ylabel('Hr(k)');

subplot(222);

stem(l,h,'filled');

axis([0,N-1,-0.1,0.3]);

xlabel('n');

ylabel('h(n)');

subplot(223);

plot(wr/pi,Hr,wl(1:21)/pi,Hrs(1:21),'o');

axis([0,1,-0.2,1.2]);

xlabel('\omega(\pi)');

ylabel('Hr(w)');

subplot(224);

plot(w/pi,20*log10((abs(H)/max(abs(H)))))

axis([0,1,-80,5]);

grid;xlabel('\omega(\pi)');

ylabel('dB');

(3)N=60 过渡带有两个样本 T1=0.5925,T2=0.1009

Matlab程序:

N=60;

alpha=(N-1)/2;

l=0:N-1;wl=(2*pi/N)*l;

Hrs=[1,1,1,1,1,1,1,0.5925,0.1099,zeros(1,43), 0.1099, 0.5925, 1,1,1,1,1,1];              *设置过渡带样本

Hdr=[1,1,0.5925,0.1099,0,0];wdl=[0,0.2,0.2+1/30,0.3-1/30,0.3,1];

k1=0:floor((N-1)/2);

k2=floor((N-1)/2)+1:N-1;

angH=[-alpha*(2*pi)/N*k1,alpha*(2*pi)/N*(N-k2)];

H=Hrs.*exp(j*angH);

h=ifft(H,N);

w=[0:500]*pi/500;

H=freqz(h,1,w); 

[Hr,wr]=zerophase(h); 

subplot(221);

plot(wdl,Hdr,wl(1:31)/pi,Hrs(1:31),'o');

axis([0,1,-0.1,1.1]);

xlabel('\omega(\pi)');ylabel('Hr(k)');

subplot(222);

stem(l,h,'filled');

axis([0,N-1,-0.1,0.3]);

xlabel('n');ylabel('h(n)');

subplot(223);

plot(wr/pi,Hr,wl(1:31)/pi,Hrs(1:31),'o');

axis([0,1,-0.2,1.2]);

xlabel('\omega(\pi)');

ylabel('Hr(w)');

subplot(224);

plot(w/pi,20*log10((abs(H)/max(abs(H)))))

axis([0,1,-120,5]);

grid;xlabel('\omega(\pi)');

ylabel('dB');

(4)由实验结果第四个图可知,当时,阻带增益都没有达到-50dB,阻带增益有所减低,所以设计结果不能满足最初的设计要求。

2.采用频率采样技术设计下面的高通滤波器

对于高通滤波器,N必须为奇数。选择N=33,过渡带有两个样本,过渡带样本最优值为T1=0.1095,T2=0.598。

Matlab程序:

N=33;

alpha=(N-1)/2;

l=0:N-1;wl=(2*pi/N)*l;

Hrs=[zeros(1,11),0.1095,0.598,ones(1,7),0.598,0.1095,zeros(1,11)];

Hdr=[0,0,0.1095,0.598,1,1];wdl=[0,20/33,22/33,24/33,26/33,1];

k1=0:floor((N-1)/2);

k2=floor((N-1)/2)+1:N-1;

angH=[-alpha*(2*pi)/N*k1,alpha*(2*pi)/N*(N-k2)];

H=Hrs.*exp(j*angH); 

h=ifft(H,N);

w=[0:500]*pi/500;

H=freqz(h,1,w);

h=real(h);

[Hr,wr]=zerophase(h); 

subplot(221);

plot(wdl,Hdr,wl(1:17)/pi,Hrs(1:17),'o');

axis([0,1,-0.1,1.1]);

xlabel('\omega(\pi)');

ylabel('Hr(k)');

subplot(222);

stem(l,h,'filled');

axis([0,N-1,-0.1,0.3]);

xlabel('n');ylabel('h(n)');

subplot(223);

plot(wr/pi,Hr,wl(1:17)/pi,Hrs(1:17),'o');

axis([0,1,-0.2,1.2]);

xlabel('\omega(\pi)');

ylabel('Hr(w)');

subplot(224);

plot(w/pi,20*log10((abs(H)/max(abs(H)))));

axis([0,1,-120,5]);

grid;xlabel('\omega(\pi)');ylabel('dB');

四、实验心得与体会

通过这次实验,又进一步熟悉了matlab软件的使用。掌握了用MATLAB实现采用频率取样法设计FIR数字滤波器的方法,在实验过程中,我加深了对频率取样法原理的理解和学习,对理论知识有了更深刻的记忆。理论结合实际,两者在学习中有机的统一起来,对学习这门课程有着重要的意义,对今后其他课程的学习打下坚实的基础。所以,这次实实践令我受益匪浅。


第二篇:数字信号处理课程设计


燕山大学

电气工程学院

课程设计说明书

设计题目:     FT与DFT的对比                       

系    别:       电气工程系                 

年级专业:      检测11-1班            

学    号:       

学生姓名:                          

指导教师:                       

教师职称:        副教授                

电气工程学院《课程设计》任务书

课程名称:             数字信号处理课程设计                          

基层教学单位:仪器科学与工程系                   指导教师: 

说明:1、此表一式四份,系、指导教师、学生各一份,报送院教务科一份。

      2、学生那份任务书要求装订到课程设计报告前面。

电气工程学院

教务科

摘要:随着信息科学和计算机技术的迅速发展,数字信号处理的理论与应用得到了飞跃式发展,形成一门极其重要的学科。本文论述了在数字信号处理过程中如何使用MATLAB软件编程,从而使一些运算量大、抽象复杂的问题变得简单而直观。

关键字:数字信号处理     FT与DFT     MATLAB

Abstract: Along with the rapid development of information science and computer technology, digital signal processing has exploded in recent years and it is becoming an extremely important subject. This article discusses the applications of the soft ware MATLAB in digital signal processing, and describes how to make it simple and straight for the complicated computations and abstract problems.

Key Words:  Digital   signal   processing          

            FT  and  DFT     MATLAB

目录

摘要……………………………………………..................................1

一、引言…………………………………………………….………..3

1.1知识背景……………………………………………………3

二、基础知识……………………………………..…………..……..4

2.1信号…………………………………………………………4

2.2矩形序列……………………………………………………4

2.3傅里叶变换…………………………………………………5

2.4离散傅里叶变换……………………………………………7

三、程序设计及图像处理……………………………………………9

3.1矩形序列程序及图像………………………………………9

3.2矩形序列的傅里叶变换及图像…………………………..10

3.3矩形序列的离散傅里叶变换及图像……………………..12

四、总结…………………………………………………….……….14

4.1分析矩形序列FT与DFT间的关系………………………14

五、心得体会………………………………………………………14

六、参考文献………………………………………………………..15

七、致谢……………………………………………………………..16

一、引言:

1.1知识背景:

随着信息时代和数字世界的到来,数字信号处理已经成为一门极其重要的学科和技术领域。数字信号处理是利用计算机或通用的信号处理设备,用数字的数值计算方法对信号进行变换、滤波、压缩、增强、估计、识别等处理,以达到提取有用信息便于应用的目的。目前数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。由于数字信号处理的理论性和实践性都很强,内容多、概念抽象、设计复杂、枯燥、难理解掌握,因此,要求应用者有较强的数学基础和一定的计算机编程能力。

MATLAB是一款用于科学计算的可视化、高性能语言与软件环境。它集数值分析、矩阵运算、信号处理和图形显示于一体, 构成了一个界面友好的用户环境。它的信号处理工具箱包含了各种经典的和现代的数字信号处理技术,是一个非常优秀的算法研究与辅助设计的工具。MATLAB的出现给信号处理分析中一些理论的掌握提供了方便。在数字信号处理教学和实验中,通常采用MATLAB来进行辅助设计和仿真。MATLAB现已成为重要的应用工具之一。

二、基础知识

2.1信号

信号通常是一个自变量或几个自变量的函数。物理信号的自变量有多种,可以是时间、距离、温度等。针对信号的自变量和函数值的取值情况,信号可以分为以下三种:

1.模拟信号(时域连续信号):信号自变量和函数值取连续值;

2.时域离散信号:自变量取离散值,函数值取连续值;

3.数字信号:信号自变量和函数值均取离散值。

实际中遇到的信号一般是模拟信号,即时域连续信号,对其进行等间隔采样便可得到时域离散信号。由于时域离散信号是一串有序的数字集合,因此时域离散信号也可以称为序列。常用的典型序列包括:单位采样序列、单位阶跃序列、矩形序列和周期序列等。

2.1矩形序列R Nn

矩形序列的基本形式如下:

数字信号处理课程设计 陈阳

2.2傅里叶变换 FT

傅里叶变换(Fourier Transform)是一种线性的积分变换,通常用于将信号在时域和频域之间进行变换。序列的傅里叶变换定义为

     ①

存在的充分条件是序列绝对可和,即满足下式:

的傅里叶反变换为

上述①②式组成了一对傅里叶变换公式。

傅里叶变换在物理学、声学、光学、结构动力学、量子力学、通讯、金融等领域都有着广泛的应用。例如在数字信号处理过程中,傅里叶变换的典型用途是将信号分解成振幅分量和频率分量。

傅里叶变换拥有周期性、线性、对称性等诸多性质。

下面对矩形序列进行FT变换

作出其幅值(图2)和相位(图3)随频率的变化曲线如下所示

数字信号处理课程设计 陈阳文本框: -π

2.3离散傅里叶变换 DFT

文本框: ③是一个长度为M的有限长序列,则定义的N点离散傅里叶变换(Discrete Fourier Transform)为

文本框: ④
的离散傅里叶逆变换为

式中,         N称DFT的变换区间长度,N≥M

③④通常称为离散傅里叶变换对

离散傅里叶变换的实质是有限长序列傅里叶变换的有限点离散采样,从而实现频域离散化,使数字信号处理可以在频域采用数值运算的方法进行,大大增加了数字信号处理的灵活性。另外,DFT有多种快速算法,使信号的实时处理和设备的简化得以实现。

离散傅里叶变换与傅里叶变换类似,拥有线性、隐含周期性、循环移位等性质。

下面对矩形序列进行DFT变换,设变换区间分别为4和8。

当变换区间N=4时,

当变换区间N=8时,

三、程序设计及图像处理

3.1矩形序列程序及图像

编写长度为8的矩形序列程序如下:

n=0:7;

x=[1 1 1 1 1 1 1 1 ];

stem(n,x,'.');

axis([-1 8 0 1.5])

title('长度为8的矩形序列');

xlabel('n');

ylabel('R8(n)')

Matlab输出图像如图4所示

图四

3.2矩形序列的傅里叶变换及图像

编写长度为8的矩形序列傅里叶变换程序如下:

n=0:7;

x=ones(1,8);

k=-200:200;

w=(pi/100)*k;

X=x*(exp(-j*pi/100)).^(n'*k);

magX=abs(X);

angX=angle(X);

subplot(2,1,1);

plot(w/pi,magX);

grid;

title('长度为8的矩形序列FT    幅度谱');

xlabel('ω/π');

ylabel('︳X(ejω)︳')

subplot(2,1,2);

plot(w/pi,angX);

grid;

title('长度为8的矩形序列FT    相位谱');

xlabel('ω/π');

ylabel('φ(ω)')

Matlab输出图像如图5所示

图五

3.3矩形序列的离散傅里叶变换及图像

编写长度为8的矩形序列8点、64点离散傅里叶变换程序如下:

xn=[1 1 1 1 1 1 1 1];

Xk8=fft(xn,8);

Xk64=fft(xn,64);

k=0:7;wk=2*k/8;

subplot(3,2,1);

stem(wk,abs(Xk8),'.');

title('(1)矩形序列8点DFT    幅度谱');

xlabel('ω/π');ylabel('|X(ejω)|')

subplot(3,2,5);stem(wk,angle(Xk8),'.');

title('(2)矩形序列8点DFT    相位谱');

xlabel('ω/π');ylabel('φ(ω)');axis([0,2,-3.5,3.5])

k=0:63;wk=2*k/64;

subplot(3,2,2);stem(wk,abs(Xk64),'.');

title('(3)矩形序列64点DFT    幅度谱');

xlabel('ω/π');ylabel('|X(ejω)|')

subplot(3,2,6);stem(wk,angle(Xk64),'.');

title('(4)矩形序列64点DFT    相位谱')

xlabel('ω/π');ylabel('φ(ω)');

axis([0,2,-3.5,3.5])

Matlab输出图像如图6所示

图六

四、总结

4.1分析矩形序列FTDFT间的关系

离散傅里叶变换(DFT)的实质是对有限长序列进行傅里叶变换(FT)的有限点的离散采样,从而实现了频域的离散化。离散傅里叶变换的采样点数越多,输出信号频谱越趋近于原频谱。

五、心得体会

通过为期一周的数字信号处理课程设计,使我对所学知识有了更为深刻的理解和认识。教材中的定理、公式和例题对我的课程设计起到了很好的导向作用,同时我也掌握了如何使用数字信号处理软件MATLAB。通过编程输出图像,进行观察,使我对本次课题所研究的FT和DFT有了更加全面的了解。

我觉得近一周的课程设计对我来说,它不仅仅是让我们把所学的理论知识与实践联系起来,更重要的是它让我们提高了自己的实际动手能力,锻炼了我们独立解决问题的能力。

在本次课程设计过程中,我学习到了许多其他学科的知识,并且对以前所学的内容也有了更加深刻的理解。但是在本次课程设计过程中,我也发现我对许多知识还未做到灵活应用,在以后的学习道路上我还应该继续努力。

六、参考文献

[1]数字信号处理/高西全 丁玉美

     西安电子科技大学出版社,20##年

[2]数字信号处理教程/王世一

北京理工大学出版社,20##年

[3]数字信号处理/(美)普埃克 等著,方艳梅 等译

电子工业出版社,20##年

[4]数字信号处理的MATLAB实现 /万永革

科学出版社,20##年

[5]傅里叶变换在信号处理中的优越性/李亚峻 史兴荣

     天津科技大学电子信息与自动化学院 300222

[6]DFT在信号谱分析中的应用/林爱英 滕红丽 袁超

     河南农业大学 450002

[7]MATLAB在数字信号处理中的应用/巩萍 赵杰

     徐州医学院医学影像学院 221004

七、致谢

在本次课程设计中,我在收获知识的同时也收获了阅历,收获了成熟与喜悦。在此过程中,通过大量的查阅资料、请教指导老师、与同学相互探讨,使我在专业知识和动手实践方面都得到了很大的提升。在此,我要对给予过我帮助的老师们、同学们,表示衷心的感谢和由衷的敬意。

课设的成功离不开老师的耐心指导和帮助,少不了各位成员的相互配合。没有大家的共同努力,也就收获不了今天的成功,在此,要再次感谢所有人的努力与帮助,谢谢各位。

更多相关推荐:
数字信号处理总结与-习题(答案

对模拟信号(一维信号,是时间的函数)进行采样后,就是离散信号,再进行幅度量化后就是数字信号。2、若线性时不变系统是有因果性,则该系统的单位取样响应序列h(n)应满足的充分必要条件是当n0时,h(n)=0。3、序…

数字信号处理_总结

书上首先讨论了时域上看离散时间信号,之后从频域上看离散信号。信号时域有什么处理呢?(平移那些炒冷饭就不说了。)抽样率转换:分为上抽样,下抽样。上抽样就是插值罗,相当与抽样频率上升抽样因子为L,就是在两点间插入L…

数字信号处理总结

题型:选择填空简答计算画图2025201530选择:1.数字信号的特征数字信号:时间离散而幅度量化的信号2.线性移不变系统的运算关系20~223.因果序列的收敛域因果序列是最重要的一种右边序列,即n1=0的右边…

数字信号处理课程总结

信息09-1班陈启祥金三山赵大鹏刘恒进入大三,各种专业课程的学习陆续展开,我们也在本学期进行了数字信号处理这门课程的学习。作为信心工程专业的核心课程之一,数字信号处理的重要性是显而易见的。在近九周的学习过程中,…

数字信号处理学习心得

XXX(XXX学院XXX班)一、课程认识和内容理解《数字信号处理》是我们通信工程和电子类专业的一门重要的专业基础课程,主要任务是研究数字信号处理理论的基本概念和基本分析方法,通过建立数学模型和适当的数学分析处理…

数字信号处理学习心得

数字信号处理学习心得通信工程0801赖立根《数字信号处理》是我们通信工程和电子类专业的一门重要的专业基础课程,主要任务是研究数字信号处理理论的基本概念和基本分析方法,通过建立数学模型和适当的数学分析处理,来展示…

数字信号处理课程总结

课程总结1时域离散随机信号的分析所谓随机信号是指信号随时间的变化没有明确的变化规律在任何时间的信号大小不能预测不可能用一明确的数学关系进行描述但这类信号存在着一定的统计分布规律它可以用概率密度函数概率分布函数数...

数字信号处理实验报告

北京信息科技大学实验报告课程名称数字信号处理实验项目IIR数字滤波器设计实验仪器计算机MATLAB软件学院信息与通信工程学院班级姓名学号实验日期指导老师实验成绩实验二IIR数字滤波器设计一实验目的1熟悉用双线性...

数字信号处理复习资料

第一章模拟信号时域离散信号数字信号如果信号的自变量和函数值都取连续值则称这种信号为模拟信号或者时域连续信号如果自变量取离散值而函数值取连续值则这种信号称为时域离散信号这种信号通常来源于对模拟信号的采样如果信号的...

数字信号处理期末试题及答案3

数字信号处理期末试卷含答案一填空题每空1分共10分1序列xnsin3n5的周期为2线性时不变系统的性质有律律3对xnR4n的Z变换为4抽样序列的Z变换与离散傅里叶变换DFT的关系为5序列xn1203n0123圆...

数字信号处理课设报告

燕山大学课程设计说明书题目虚拟电子琴设计学院系电气工程学院年级专业学号学生姓名指导教师职称电气工程学院课程设计任务书说明1此表一式四份系指导教师学生各一份报送院教务科一份2学生那份任务书要求装订到课程设计报告前...

数字信号处理

武汉理工大学数字信号处理课程设计说明书1DFT的对称性11共轭对称序列长度为N的有限长序列xn若满足xnxNn0nN111称序列xn为共轭对称序列一般用xepn来表示若满足xnxNn0nN112称序列xn为共轭...

数字信号处理总结(29篇)