河海大学-通信工程-DSP实验4
DSP实验4
第
组
DSP 软仿真 FFT Magnitude 图
第 5 页
西华大学实验报告
第
组
六、实验结果分析及问题讨论
第 6 页
年级/专业/班 课 程 代 码 项 目 代 码 项 目 学 分
2012 级通信工程 2 班 6001549 04
装
指 导 教 师
一、实验目的
1、 学会用 MATLAB 设计 IIR 数字滤波器的系数。 2、 学会用 DSP 实现所设计的 IIR 数字滤波器。 3、巩固 DSP 的基本编程调试。
二、实验原理
五、实验过程记录(含数据、图表) 实验四图片数据
[b a]=maxflat(3,3,0.2) 巴特沃斯低通滤波器 Matlab 幅频响应曲线图
Magnitude Response (dB)
50
0
-50
Magnitude (dB)
-100
-150
-200
-250
-300
0
0.1
0.2
0.3 0.4 0.5 0.6 0.7 Normalized Frequency ( rad/sample)
第 1 页
西华大学实验报告
第
组
(3) 选 Debug->Go main 找到主函数,在“while(1);”语句处增加一个断点。 (4) 选 View->Graph->Time/Frequency…打开图形显示设置窗口;在弹出的对话框中按下图设置,主要 修改 “Graph Title” 为 “Input_x”“ , Start Address”为 x, “Display Data Size”为 128, “Acquisition Buffer Size” 为 128,“DSP Data Type”为“32-bit IEEE floating point”。将在图形显示窗口显示输入序 列的 128 点波形。 (5) 选 View->Graph->Time/Frequency…打开图形显示设置窗口;在弹出的对话框中按下图设置,主要 修改 “Graph Title” 为 “Output_y”“ , Start Address”为 y, “Display Data Size”为 128, “Acquisition Buffer Size” 为 128,“DSP Data Type”为“32-bit IEEE floating point”。将在图形显示窗口显示输出序 列的 128 点波形。 (6) 选 Window->Tile,使各窗口平铺显示。 (7) 按 F5 键启动程序运行。观察记录比较输入输出波形。输入输出波形记录方法:用 PrintScreen 键 记录当前屏幕,打开 Windows 的附件中画图工具,选“编辑->粘贴”,然后剪选所需的输入输 出序列波形图,粘贴至 Word 文档,打印贴于实验报告。 (8)重复步骤(4)(5)并将设置窗口中的“Display Type”改为“FFT Magnitude”(点右方下拉键), 然后重做(6)(7),以观察记录比较输入输出频谱。 3、按步骤 1,2 设计自己的 IIR 数字滤波器 (1) 用 MATLAB 设计 IIR 数字滤波器的系数:设计一个 IIR 低通滤波器,其零点数为组号,极点数为 10+组号,截止频率为 0.3。 (2) 用 DSP 实现(1)中所设计的 IIR 数字滤波器: 在 Project 管理栏中打开 iir.c 文件,修改 #define MAX_ZERO #define MAX_POLE 为 #define MAX_ZERO #define MAX_POLE 修改 double z[]={0.0181 double p[]={1.0000 为 double z[]={当前生成的零点系数};
dsp原理与应用实验报告总结
dsp原理与应用实验报告总结DSP(Digital Signal Processing)数字信号处理是利用数字技术对信号进行处理和分析的一种方法。
在本次实验中,我们探索了DSP的原理和应用,并进行了一系列实验以验证其在实际应用中的效果。
以下是对实验结果的总结与分析。
实验一:数字滤波器设计与性能测试在本实验中,我们设计了数字滤波器,并通过性能测试来评估其滤波效果。
通过对不同类型的滤波器进行设计和实现,我们了解到数字滤波器在信号处理中的重要性和应用。
实验二:数字信号调制与解调本实验旨在通过数字信号调制与解调的过程,了解数字信号的传输原理与方法。
通过模拟调制与解调过程,我们成功实现了数字信号的传输与还原,验证了调制与解调的可行性。
实验三:数字信号的傅里叶变换与频谱分析傅里叶变换是一种重要的信号分析方法,可以将信号从时域转换到频域,揭示信号的频谱特性。
本实验中,我们学习了傅里叶变换的原理,并通过实验掌握了频谱分析的方法与技巧。
实验四:数字信号的陷波滤波与去噪处理陷波滤波是一种常用的去除特定频率噪声的方法,本实验中我们学习了数字信号的陷波滤波原理,并通过实验验证了其在去噪处理中的有效性。
实验五:DSP在音频处理中的应用音频处理是DSP的一个重要应用领域,本实验中我们探索了DSP在音频处理中的应用。
通过实验,我们成功实现了音频信号的降噪、均衡和混响处理,并对其效果进行了评估。
实验六:DSP在图像处理中的应用图像处理是另一个重要的DSP应用领域,本实验中我们了解了DSP在图像处理中的一些基本原理和方法。
通过实验,我们实现了图像的滤波、边缘检测和图像增强等处理,并观察到了不同算法对图像质量的影响。
通过以上一系列实验,我们深入了解了DSP的原理与应用,并对不同领域下的信号处理方法有了更深刻的认识。
本次实验不仅加深了我们对数字信号处理的理解,也为日后在相关领域的研究与实践提供了基础。
通过实验的结果和总结,我们可以得出结论:DSP作为一种数字信号处理的方法,具有广泛的应用前景和重要的实际意义。
DSP实验报告6
DSP第六、七次实验报告1. 实验目的:(1)进一步熟悉Matlab实验环境和语言。
(2)熟悉各种滤波器的结构及Matlab实现语言。
(3)掌握用冲击响应不变法和双线性变换法设计IIR滤波器的方法。
(4)掌握用窗函数法和频率抽样法设计FIR滤波器的方法。
2. 实验内容及总结:1.滤波器结构:(1)IIR滤波器各种结构1、直接型结构例如直接型滤波器系统函数, 则有系数向量a=[1,a1,a2,a3],b=[b0,b1,b2], 利用:Y=filter[b,a,x]求信号x(n)通过此滤波器的输出。
2、由系统函数或差分方程求系统的二阶分式(含一阶分式)的级联结构将例如的系统函数重写为二阶分式节的级联型, 利用:[sos,G]=tf2sos(b,a)3、由二阶分式的级联结构转换成系统函数的直接结构是第二步的逆运算, 调用函数:[b,a] = sos2tf(sos)可以求得系数向量a,b, 从而得到H(z)4、由系统函数求部分分式展开(留数及其极点计算)即求z反变换的部分分式展开法, 利用:[r,p,c]=residuez(b,a)其中极点为p, 留数为r, 直接项系数为c。
5、由r,p,c求系统函数即第4步的逆运算, 利用:[b,a]=residuez(r,p,c)6、由直接型结构转换为并联型结构需开发函数:[C,B,A]=tf2par(b,a)其中, b,a为直接型的系数向量, C,B,A为并联型实系数向量, 基本思想是: 1.反复调用[r,p,c]=residuez(b,a)求出极点及留数;2.利用cplxpair函数把极点、留数对按复共轭极点-留数对, 实极点-留数对的顺序排列;3.开发cplxcomp函数, 保证极点和留数相互对应;4.调用[b,a]=residuez(r,p,c)计算并联二阶节的分子分母。
7、由并联型结构转换成直接型结构开发函数:[b,a]=par2tf(C,B,A)为[C,B,A]=tf2par(b,a)的逆函数。
通信工程实验报告
通信工程实验报告通信工程实验报告一、引言通信工程是现代社会中不可或缺的一部分,它涉及到人们日常生活中的各个方面。
通信工程实验是培养学生实际动手能力和解决问题的能力的重要环节。
本文将介绍一次通信工程实验的过程和结果。
二、实验目的本次实验的目的是通过搭建一个小型的通信系统,了解信号传输的基本原理和通信设备的工作机制。
通过实际操作,学生能够更好地理解课堂上学到的理论知识,并将其应用到实际中。
三、实验步骤1. 实验前准备在实验开始之前,我们需要准备一些实验所需的设备和材料,如信号发生器、示波器、电缆等。
同时,还需要对实验进行详细的计划和安排,确保实验的顺利进行。
2. 搭建通信系统首先,我们需要搭建一个小型的通信系统。
这个系统包括信号发生器、传输介质和接收器。
我们将信号发生器连接到传输介质上,再将传输介质连接到接收器上。
这样,信号就可以从发生器经过传输介质传输到接收器上。
3. 调试和测试在搭建完通信系统后,我们需要对系统进行调试和测试。
首先,我们需要设置信号发生器的参数,如频率、振幅等。
然后,我们通过示波器观察信号在传输介质中的传输情况,检查是否存在信号衰减、失真等问题。
最后,我们通过接收器来接收信号,并检查接收到的信号是否与发送的信号一致。
四、实验结果通过实验,我们得到了以下结果:1. 信号传输的距离和质量与传输介质的质量有关。
当传输介质的质量较好时,信号的传输距离较远,且传输质量较好;反之,当传输介质的质量较差时,信号的传输距离较短,且传输质量较差。
2. 信号传输的质量与信号发生器的参数有关。
当信号发生器的频率和振幅设置合理时,信号的传输质量较好;反之,当信号发生器的频率和振幅设置不合理时,信号的传输质量较差。
3. 信号传输的质量与接收器的质量有关。
当接收器的质量较好时,信号的接收质量较好;反之,当接收器的质量较差时,信号的接收质量较差。
五、实验总结通过本次实验,我们深入了解了信号传输的基本原理和通信设备的工作机制。
DSP实验报告
南京邮电大学DSP实验报告专业:通信工程学生姓名:班级学号: B0802指导教师:邓立新日期:二○一一年五月实验一一、观察采样引起的混叠设模拟信号为)3sin()2sin(4)5cos()(t t t t x πππ⋅+=,t 的单位为毫秒(ms)。
1. 设采样频率为3kHz ,确定与)(t x 混叠的采样重建信号)(t x a 。
2. 画出)(t x 和)(t x a 在)(60ms t ≤≤范围内的连续波形。
(因数字计算机无法真正画出连续波形,可用较密的离散点的连线来近似。
) 3. 分别用"" 和""⨯在两信号波形上标记出3kHz 采样点。
两信号波形是否相同?采样后的两序列是否相同? 答:两信号波形不相同,但采样后的两序列相同解:参考程序: clear% estimate x(t) and xa(t) with a much higher sampling freq. 'fs1' time_period=6; % unit: ms fs1=50; % unit: kHz T1=1/fs1; % unit: ms n1=0:fix(time_period/T1);x=cos(5*pi*n1*T1)+4*sin(2*pi*n1*T1).*sin(3*pi*n1*T1); xa=cos(pi*n1*T1);% obtain x(nT) and xa(nT) with given sampling freq. 'fs' fs=3; T=1/fs;n=0:fix(time_period/T);x_sample=cos(5*pi*n*T)+4*sin(2*pi*n*T).*sin(3*pi*n*T); xa_sample=cos(pi*n*T);figure,plot(n1*T1,x,'r',n1*T1,xa,'b',n*T,x_sample,'ro'), hold on, stem(n*T,xa_sample,'b:x')legend('x(t)','xa(t)','x(nT)','xa(nT)'),xlabel('t(ms)') 运行的结果:x(t)与xa(t)两波形并不相同,但采样后,波形一致二、判别离散时间系统的时不变性。
河海大学-通信工程-DSP实验3
实验三 FFT 的其他应用班级: 姓名: 学号:一、实验目的1、掌握实数序列的FFT 算法;2、掌握线性卷积的FFT 算法;3、掌握相关函数的FFT 算法;4、掌握二维信号的FFT 算法。
二、实验原理MATLAB 以下函数的用法:conj(x): 取x 的共轭,即改变x 的虚部符号。
real(x): 取复数x 的实部。
rand(1,N): 生成在0和1之间均匀分布的随机序列,长度为N 。
randn(1,N): 生成正态分布(高斯分布)的随机序列,长度为N 。
X=fft(x,N): 计算序列x 的N 点FFT 。
如果x 的长度小于N ,则在x 后面补零;如果x 的长度大于N ,则对x 进行截取;如果不指定参数N ,则以x 的实际长度作为FFT 的点数。
x=ifft(X,N): 计算序列X 的N 点IFFT 。
Y=fftshift(X): 将序列X 分成左右两部分并交换位置。
X=imread(‘路径和文件名’):读入一幅图像。
Y=rgb2gray(X):将彩色图像转换为灰度图像。
imshow(X):显示图像。
三、实验内容1、有一2N 点的实数序列:sin cos ,(),n n n N x n N N n ππ⎧⎛⎫⎛⎫+≤≤-⎪ ⎪ ⎪=⎝⎭⎝⎭⎨⎪⎩21291702120其他,N =64要求用一64点的复数FFT 程序完成x (n )的离散傅里叶变换X (k ),并用plot 函数作出X (k )的幅频曲线。
2、用rand 函数产生一512点的随机序列x e (n ),并用x e (n )与三角波序列x c (n )做线性卷积,观察卷积前后x e (n )频谱的变化,为什么?要求将x e (n )分成8段,分别用重叠相加法和重叠保留法完成线性卷积过程。
()c nn x n n n ≤≤⎧⎪=-≤≤⎨⎪⎩038470其他3、用randn 函数产生两个N 点的随机序列x (n )和y (n ),N =64,分别用FFT 计算它们的互相关函数r xy (m )以及各自的自相关函数r xx (m )和r yy (m ),分别比较x (n )和y (n )的时域波形以及他们的自相关函数波形,你可以得到什么结论?4、用imread 函数读入一幅图像,然后用rgb2gray 函数转换为灰度图像,用fft 函数对该灰度图像做二维FFT 变换,并用imshow 函数显示原始图像、灰度图像和二维FFT 变换结果。
通信工程实验报告
一、实验目的本次实验旨在让学生掌握通信工程基本原理,提高通信系统设计和分析能力,培养实际操作技能。
通过实验,使学生了解通信系统的基本组成、工作原理以及通信协议,熟悉通信设备的操作方法,为以后从事通信工程相关领域的工作打下基础。
二、实验内容1. 实验一:通信系统基本组成及工作原理(1)实验目的:了解通信系统的基本组成、工作原理,掌握通信系统的传输、交换、处理和监控等功能。
(2)实验仪器:通信实验箱、示波器、信号发生器、数字存储示波器等。
(3)实验步骤:①搭建通信系统实验平台;②观察通信系统各部分功能;③分析通信系统工作原理;④测试通信系统性能。
2. 实验二:通信协议及传输过程(1)实验目的:掌握通信协议的基本概念,熟悉TCP/IP协议栈的分层结构,了解数据传输过程。
(2)实验仪器:通信实验箱、计算机、网络分析仪等。
(3)实验步骤:①搭建网络实验环境;②观察TCP/IP协议栈各层功能;③测试数据传输过程;④分析网络性能。
3. 实验三:通信设备操作及调试(1)实验目的:熟悉通信设备的操作方法,掌握设备调试技巧。
(2)实验仪器:通信实验箱、计算机、通信设备等。
(3)实验步骤:①了解通信设备的功能及操作方法;②搭建通信设备实验平台;③进行设备调试;④测试设备性能。
4. 实验四:通信系统性能分析(1)实验目的:掌握通信系统性能分析的方法,提高通信系统设计能力。
(2)实验仪器:通信实验箱、计算机、通信系统性能分析软件等。
(3)实验步骤:①搭建通信系统实验平台;②进行系统性能测试;③分析系统性能指标;④优化通信系统设计。
三、实验结果与分析1. 实验一:通信系统基本组成及工作原理通过实验,学生了解了通信系统的基本组成、工作原理,掌握了通信系统的传输、交换、处理和监控等功能。
实验结果表明,通信系统能够满足实际通信需求,具有较好的性能。
2. 实验二:通信协议及传输过程通过实验,学生掌握了通信协议的基本概念,熟悉了TCP/IP协议栈的分层结构,了解了数据传输过程。
dsp实验报告
dsp实验报告DSP实验报告一、引言数字信号处理(Digital Signal Processing,DSP)是一种对数字信号进行处理和分析的技术。
它在许多领域中被广泛应用,如通信、音频处理、图像处理等。
本实验旨在通过实际操作,探索和理解DSP的基本原理和应用。
二、实验目的1. 理解数字信号处理的基本概念和原理;2. 掌握DSP实验平台的使用方法;3. 进行一系列DSP实验,加深对DSP技术的理解。
三、实验器材和软件1. DSP开发板;2. 电脑;3. DSP开发软件。
四、实验内容1. 实验一:信号采集与重构在此实验中,我们将通过DSP开发板采集模拟信号,并将其转换为数字信号进行处理。
首先,我们需要连接信号源和开发板,然后设置采样频率和采样时间。
接下来,我们将对采集到的信号进行重构,还原出原始模拟信号,并进行观察和分析。
2. 实验二:滤波器设计与实现滤波器是DSP中常用的模块,用于去除或增强信号中的特定频率成分。
在此实验中,我们将学习滤波器的设计和实现方法。
首先,我们将选择合适的滤波器类型和参数,然后使用DSP开发软件进行滤波器设计。
最后,我们将将设计好的滤波器加载到DSP开发板上,并进行实时滤波处理。
3. 实验三:频谱分析与频域处理频谱分析是DSP中常用的方法,用于分析信号的频率成分和能量分布。
在此实验中,我们将学习频谱分析的基本原理和方法,并进行实际操作。
我们将采集一个包含多个频率成分的信号,并使用FFT算法进行频谱分析。
然后,我们将对频谱进行处理,如频率选择、频率域滤波等,并观察处理后的效果。
4. 实验四:音频处理与效果实现音频处理是DSP中的重要应用之一。
在此实验中,我们将学习音频信号的处理方法,并实现一些常见的音频效果。
例如,均衡器、混响、合唱等。
我们将使用DSP开发软件进行算法设计,并将设计好的算法加载到DSP开发板上进行实时处理。
五、实验结果与分析通过以上实验,我们成功完成了信号采集与重构、滤波器设计与实现、频谱分析与频域处理以及音频处理与效果实现等一系列实验。
通信工程专业本科人才培养方案
通信工程专业本科人才培养方案(河海大学“卓越工程师教育培养计划”)学科门类:工学专业大类:电子信息类专业名称:通信工程专业代码:080703 学制:四年授予学位:工学学士一、培养目标本专业培养具备通信技术、信息获取与处理等方面的专业基础理论和基本技能,掌握通信工程与计算机技术,具备从事通信系统开发和产品生产、营销或服务、工程项目的施工、运行和维护等能力,具有较强的工程意识、工程实践能力和工程素质的优秀工程技术或管理的高级专门人才。
二、培养要求本专业学生主要学习电路、电子技术、通信原理、移动通信、信息获取与处理、计算机技术与应用等方面的基本理论和基本知识,受到电子工程实践的基本训练,掌握通信系统分析、设计、开发应用与开展科学研究的基本能力。
毕业生应获得以下几方面的知识和能力:1. 掌握通信工程专业较宽厚的基本知识、基本理论;2. 具有较扎实的自然科学基础,较好的人文、艺术和社会科学基础,较强的语言表达能力和计算机外语应用能力;3. 具有较强的综合应用专业知识解决问题的能力、综合试验能力与工程实践能力;4. 熟悉国家信息产业政策和法规及国内外有关知识产权的法律法规;5. 了解通信产业的理论前沿、应用前景和最新发展动态;6. 具有一定的科学研究和实际工作能力,具有一定的批判性思维能力和创新能力;7. 具有英语综合应用能力、专业外文文献阅读能力,具有国际视野及国际交流合作的能力;8. 具备较强的组织管理和适应能力,并具有团队合作精神、良好的科学精神和职业道德。
三、主干学科信息与通信工程、电子科学与技术、计算机科学与技术四、主要课程电路、模拟电子技术、数字逻辑与系统、信号与线性系统、电磁场与波、Matlab基础、微机原理与接口、高频电子线路、通信原理、数字信号处理、数字图像处理、计算机通信网、现代交换技术、移动通信、光纤通信等。
其中:双语课程:Matlab基础数字信号处理新生研讨课:通信工程专业认知研讨课程:移动通信现代交换技术五、实践教学校内实践:物理实验、C语言项目设计、电路实验、电子工程实践、模拟电子技术实验、数字电子技术实验、单片机课程设计、高频电子线路课程设计、数字图像综合设计、专业综合实践企业工程实践:企业文化与工程实践、企业综合实践、毕业设计六、所含专业方向及特色依据“厚基础、宽口径、重实践”的原则,本专业培养通信工程专业方向的高级专业人才。
DSP实验答案
第 8 章
上 机 实 验
%内容2: 调用conv函数计算卷积 x1n=[1 1 1 1 1 1 1 1 ]; %产生信号x1n=R8n h1n=[ones(1, 10) zeros(1, 10)]; h2n=[1 2.5 2.5 1 zeros(1, 10)];
y21n=conv(h1n, x1n);
xN (n) IDFT[ X N (k )]N [ x(n iN )]RN (n)
i
由于N<M, 所以发生了时域混叠失真, 因此, xN(n)与x(n) 不相同。
第 8 章
上 机 实 验
图8.2.3
第 8 章
上 机 实 验
8.2.4 简答思考题
对实验中的思考题简答如下:
%1024点FFT[x(n)], 用于近似序列x(n)的TF
X32k=fft(xn, 32);%32点FFT[x(n)] x32n=ifft(X32k);%32点IFFT[X32(k)]得到x32(n) X16k=X32k(1: 2: N);%隔点抽取X32k得到X16(K)
第 8 章
上 机 实 验
第 8 章
上 机 实 验
第8章 上
8.1 8.2 8.3 8.4
机
实
验
实验一: 系统响应及系统稳定性 实验二: 时域采样与频域采样 实验三: 用FFT对信号作频谱分析 实验四: IIR数字滤波器设计及软件实现
8.5 实验五: FIR数字滤波器设计与软件实现
8.6 实验六: 数字信号处理在双音多频拨号系统中的应用
第 8 章
上 机 实 验
8.2.3 实验程序运行结果
(1) 时域采样理论的验证程序exp2a.m的运行结果如图 8.2.2所示。 由图可见, 当采样频率为1000 Hz时, 频谱混叠
哈工程《通信原理实验》思考题答案整理完美版
《通信原理实验》内容实验一:数字基带传输系统仿真作业题:1、根据实验观察和纪录回答:(1)不归零码和归零码的特点是什么?(2)与信源代码中的“1”码相对应的AMI码及HDB3码是否一定相同?答:(1)不归零码特点:脉冲宽度τ等于码元宽度Ts。
归零码特点:τ<Ts。
(2)与信源代码中的“1”码对应的AMI码及HDB3码不一定相同。
因信源代码中的“1”码对应的AMI码“1”、“-1”相间出现,而HDB3码中的“1”,“-1”不但与信源代码中的“1”码有关,而且还与信源代码中的“0”码有关。
举例:信源代码 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 1AMI 1 0 0 0 0 -1 1 0 0 0 0 -1 0 0 0 0 0 1HDB3 1 0 0 0 1 -1 1 -1 0 0 -1 1 0 0 0 1 0 -12、设代码为全1,全0及0111 0010 0000 1100 0010 0000,给出AMI及HDB3码的代码和波形。
答:信息代码 1 1 1 1 1 1 1AMI 1 -1 1 -1 1-1 1HDB3 1 -1 1 -1 1 -1 1信息代码0 0 0 0 0 0 0 0 0 0 0 0 0AMI0 0 0 0 0 0 0 0 0 0 0 0 0HDB3 0 0 0 1-10 0 1-1 0 0 1 -1信息代码0 1 1 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0AMI 0 1 -1 1 0 0 -1 0 0 0 0 0 1 -1 0 0 0 0 1 0 0 0 0 0HDB30 1 -1 1 0 0 -1 1 0 0-1 0 1 -1 1 0 0 1 -1 0 0 0 –1 03、总结从HDB3码中提取位同步信号的原理。
答:HDB3码中不含有离散谱f S(f S在数值上等于码速率)成分。
整流后变为一个占空比等于0.5的单极性归零码,其连0个数不超过3,频谱中含有较强的离散谱f S成分,故可通过窄带带通滤波器得到一个相位抖动较小的正弦信号,再经过整形、移相后即可得到合乎要求的位同步信号cp(t)。
DSP实验报告(四)
实验四 用窗函数设计FIR 滤波器一、实验目的1、熟悉FIR 滤波器设计的基本方法。
2、掌握用窗函数设计FIR 数字滤波器的原理及方法,熟悉相应的计算机高级语言编程。
3、熟悉线性相位FIR 滤波器的幅频特性和相位特性。
4、了解各种不同窗函数对滤波器性能的响应二、实验原理和方法(一)FIR 滤波器的设计IIR 滤波器的优异幅度响应,一般是以相位的非线性为代价的,非线性相位会引起频率色散。
FIR 滤波器具有严格的相位特性,这对于语音信号处理和数据传输是和重要的。
目前FIR 滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。
常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。
窗函数法是从时域出发,用一个窗函数截取理想的hd(n)得到h(n),以有限长序列h(n)近似理想的hd(n);如果从频域出发,用理想的()j d H e ω在单位圆上等角度取样得到H(k),根据h(k)得到H(z)将逼近理想的hd(z),这就是频率取样法。
(二)窗函数设计法用窗函数设计滤波器首先要对滤波器提出性能指标。
一般是给定一个理想的频率响应()j d H e ω,使所设计的FIR 滤波器的频率响应()j H e ω去逼近所要求的理性的滤波器的响应()j d H e ω。
窗函数法设计的任务在于寻找一个可实现(有限长单位脉冲响应)h(n )的传递函数()()j j n n H e h n e ωω+∞-==∑去逼近理想的幅频响应。
一个理想的频率响应的傅立叶反变换201()()2j j n d d H n H e e d πωωωπ=⎰(1)所得到的理想单位脉冲响应h 往往是一个无限长序列。
对经过适当的加权、截断处理才能得到一个所需要的有限长脉冲响应序列。
对应不同的加权、截断,就有不同的窗函数。
所要寻找的滤波器脉冲响应就等于理想脉冲响应和窗函数的乘积,即()()()d h n h n w n = (2)由此可见,窗函数的性质就决定了滤波器的品质。
河海大学-通信工程-DSP实验4
实验四无限长单位脉冲响应滤波器设计班级:姓名:学号:一、实验目的1、掌握双线形变换法及脉冲响应不变法设计IIR数字滤波器的具体设计方法及其原理,熟悉用双线形变换法及脉冲响应不变法设计低通,高通和带通IIR数字滤波器的计算机编程。
2、观察双线形变换法及脉冲响应不变法设计的滤波器的频域特性,了解双线形变换法及脉冲响应不变法的特点。
3、熟悉巴特沃思滤波器,切比雪夫滤波器和椭圆滤波器的频率特性。
;二、实验原理1、将模拟滤波器的参数指标通过频率变换转换为原型模拟低通滤波器的参数指标,设计满足指标要求的原型模拟低通滤波器,通过频率变换将原型模拟低通滤波器的系统函数变换为其他类型的模拟滤波器2、脉冲响应不变法是使数字滤波器的单位脉冲响应序列h(n)逼近模拟滤波器的冲激响应hs(t),让h(n)正好等于hs(t)的采样值。
3、双线性变换法使得s平面与z平面是一一映射关系,消除了多值变换性,克服了脉冲响应不变法产生的频响的混叠失真。
4、巴特沃思滤波器通带内有最大平坦的幅度特性且随着频率的升高而单调的下降和切比雪夫滤波器逼近误差峰值在一个规定的频段上位最小。
三、实验内容1、fc=0.3kHz,δ=0.8dB,fr=0.2kHz,At=20dB,T=1ms;设计一切比雪夫高通滤波器,观察其通带损耗和阻带衰减是否满足要求。
2、fc=0.2kHz, δ=1dB,fr=0.3kHz,At=25dB,T=1ms;分别用脉冲响应不变法及双线形变换法设计一巴特沃思数字低通滤波器,观察所设计数字滤波器的幅频特性曲线,记录带宽和衰减量,检查是否满足要求。
比较这两种方法的优缺点。
3、利用双线性变换法分别设计满足下列指标的巴特沃思滤波器,切比雪夫滤波器和椭圆滤波器,并作图验证设计结果:fc=1.2kHz, δ<=0.5dB,fr=2kHz,At>=40dB,fs=8kHz。
4、分别用脉冲响应不变法及双线形变换法设计一巴特沃思数字带通滤波器,已知fs=3kHz,其等效的模拟滤波器指标为δ<3kHz, 2kHz<f<=3kHz, At>=5dB, f>=6kHz, At>=20dB,f<=1.5kHz。
河海大学通信工程数字信号实验2
实验一离散信号与离散系统分析一、实验目的1、掌握用MATLAB产生基本离散时间信号的方法;2、掌握离散线性系统的差分方程表示法;3、加深对单位脉冲响应和离散卷积的理解;4、掌握离散系统的频率响应分析方法;5、加深对零极点分布的理解。
二、预习要求复习教材第一章的内容,并利用MATLAB的帮助系统熟悉以下函数的用法:y=conv(h, x): 计算h和x的线性卷积(离散卷积),结果放在y中。
y=filter(b, a, x): 对输入序列x进行数字滤波,b和a分别是滤波器分子(对应输入信号x)和分母(对应输出信号y)的系数向量。
h=impz(b, a, N): 计算N点滤波器的单位脉冲响应,b和a分别是滤波器分子和分母的系数向量。
H=freqz(b, a, w): 计算数字滤波器的频率响应,w为频率向量,通常通过对2π取N 等份得到。
[H w]=freqz(b, a): 对0~π进行512点采样,采样频率输出在向量w中。
如果省略左边的H或[H w],则直接绘出滤波器的对数频谱和相频响应。
zplane(b, a):绘制零极点分布图,b和a分别是滤波器分子(对应输入信号x)和分母(对应输出信号y)的系数向量。
plot(x, y): 绘制以向量x为横坐标、向量y为纵坐标的曲线,x和y的维数必须相同。
用命令plot(x1,y1,x2,y2,x3,y3)可以在同一幅图上分别绘出以x1, x2, x3为横坐标、以向量y1, y2, y3为纵坐标的曲线。
plot函数还可以指定曲线离散点处标记、曲线的颜色和曲线类型等。
stem(n, x):绘制离散序列x(n)。
xlabel(‘’): 为x轴加标注。
ylabel(‘’): 为y轴加标注。
title(‘’): 在图的上方加上标题。
三、实验内容1、用MATLAB产生单位脉冲序列、单位阶跃序列、矩形序列、实指数序列(底数a=0.5)和正弦序列(ω0=π/8),并用stem函数分别做出各序列的图形(-4≤n≤16)。
实验四
南京工程学院通信工程学院实验报告课程名称信号与系统实验实验项目名称连续系统的复频域分析实验学生班级电子信息102实验学生姓名张治鹏同组学生姓名实验时间2012.05.22实验地点信息楼C103实验成绩评定指导教师签字年月日实验四:连续系统的复频域分析一、实验目的:1、掌握连续与离散时间系统的正反复频域与Z 域变换2、掌握利用MATLAB 进行零极点分析,进一步了解零极点对整个系统的影响3、掌握simulink 环境下系统建模与仿真以及系统求解。
二、实验内容:1、已知某连续系统的系统函数为: 322s +5H(s)=s +s +3s +2(1) 利用 [r, p, k]=residue(num, den),求H (s )的分部展开; (2)求H (s )的极零点,画出系统的零极点分布图,判断系统的稳定性。
(3)用拉氏逆变换函数ilaplace (H ),求h(t),并作图。
(1)对H (s )的部分展开的MATLAB 程序:A=[1,1,3,2]; B=[2,5];[r,p,k]=residue(B,A) 其运行结果是:r =-0.5750-0.7979i -0.5750+0.7979i 1.1499 p =-0.1424+1.6661i -0.1424-1.6661i -0.7152 因此H (s )可展开为H(s)=(-0.5750-0.7979i)/(s+0.1424-1.6661i)+(-0.5750+0.7979i)/(s+0.1424+1.6661i) +1.1499/(s+0.7152)(2)程序:A=[1,1,3,2];B=[2,5]; z1=roots(B); p1=roots(A);plot(real(z1),imag(z1),'blacko',real(p1),imag(p1),'blackx','markersize',12); grid on;legend('零点','极点');运行结果:(3)程序如下: (4)H=sym('(2*s+5)/(s^3+s^2+3*s+2)'); ht=ilaplace(H); 运行结果为:ht =sum((5*exp(r4*t) + 2*r4*exp(r4*t))/(3*r4^2 + 2*r4 + 3), r4 in RootOf(s4^3 + s4^2 + 3*s4 + 2, s4))2、系统的系统函数为:231)(2+-+=z z z z H (1)利用 [r, p, k]=residuez(num, den)求H (z )的分部展开; (2)求H (s )的极零点,画出系统的零极点分布图,判断系统的稳定性。
dsp实验报告-有限脉冲响应滤波器(FIR)实验
实验四.数字信号处理算法实验实验4.1 :有限脉冲响应滤波器(FIR )算法实验一.实验目的1.掌握窗函数法设计FIR 滤波器的Matlab 实现,为CCS 提供滤波系数。
2.掌握采用C 语言在VC5509开发板上实现混频信号的FIR 滤波。
二.实验设备计算机,ICETEK-VC5509-A 实验箱及电源。
三.实验原理1. 窗函数法设计FIR 滤波器(详细理论请看《数字信号处理》原理书籍) 本实验要求:设计一个低通滤波器,通带截止频率fp=10kHz ,阻带截止频率fs1=22kHz ,阻带衰减ap=75dB ,采样频率fs=50kHz,计算出滤波系数fHn,并对混频信号(高频+低频正弦波)fIn 进行滤波,得输出波形fOut 。
解:过渡带宽度=fs1-fp=12kHz ;截止频率:f1=fp+(过渡带宽度)/2=16kHz f1对应的数字频率:Ω1=2πf1/fs=0.64π(rad) -理想低通滤波器单位脉冲响应:hd[n]=sin(0.64π(n-a))/(π(n-a)) 其中a=(N-1)/2 (n=0~N-1)-根据阻带衰减要求选择布莱克曼窗,窗函数长度N 为: N=5.98fs/过渡带宽度≈25则窗函数为:w[n]=0.42-0.5cos(2πn/24)+0.08cos(4πn/24) 滤波器脉冲响应为:h[n]=hd[n]w[n] (n=0~N-1) <1>-根据上面各式计算出h[n]。
2. FIR 滤波FIR 滤波器的差分方程为:1()()N i i y n h x n i -==-∑ <2>其中,h i ----滤波器系数;x(n)---滤波器的输入;y(n)--- 滤波输出。
根据公式<1><2>,得本例对应FIR 滤波器的差分方程为: y[n]=-0.001x[n-2]-0.002x[n-3]-0.002x[n-4]+0.01x[n-5]-0.009x[n-6]-0.018x[n-7]-0.049x[n-8]-0.02x[n-9] +0.11x[n-10]+0.28x[n-11]+0.64x[n-12] +0.28x[n-13]-0.11x[n-14]-0.02x[n-15]+0.049x[n-16]-0.018x[n-17]-0.009x[n-18]+0.01x[n-19] -0.002x[n-20]-0.002x[n-21]+0.001x[n-22] (n=0,1,2,...)采用线性缓冲区法(原理见备课笔记)解此差分方程,得FIR 滤波结果y(n)。
DSP实验指导书及其思考题答案
DSP实验指导书及其思考题答案《DSP原理及应用》实验指导书杨宣兵编写适用专业电子信息工程_电子科学与技术信息工程通信工程信息与通信工程学院7>2013 年 5 月前言《DSP原理与应用》是电子信息类专业信号与信息处理方向的一门专业必修课同时也是其他电类专业的一门重要的选修课课程以为主要内容介绍了 1 基本算术运算的DSP实现 4 1 验证必修1CCS基本操作2DSP应用程序结构和开发流程3基于DSP开发环境Simulator完成16位定点加减乘除运算 2 数字振荡器的设计与实现 4 1 设计必修1CCS图形工具使用2基于C语言和汇编语言混合程序设计3定时器等外设资源的应用4简单算法迭代的实现 3 BSP串口通信实现 4 2 综合必修1McBSP串口操作2VC54XX片上ROM资源的使用 4 FIR数字滤波器设计与实现实现42 设计选修1McBSP串口操作与串口中断服务程序编写2ADDA操作3FIR滤波器实现的特殊指令应用4CCS高级调试工具使用 5 TMS320VC5402的Bootloader设计与实现 4 510 设计必修1编程完成对外设IO端口的控制实现流水灯功能2完成从COFF文件到启动表的转换3完成程序的固化与脱离上位机控制的独立运行 6 快速傅立叶变换实现 4 2 综合选修1辅助寄存器使用位倒序寻址方式应用等2FFT算法的编程实现3CCS探针和图形工具使用7 外部设备控制实验 4 1 综合任选1熟悉外部中断使用与中断服务程序编写方法2掌握对外设端口的操作方法3掌握外设的控制方法包括键盘LED步进电机LCD等8 双音多频9 双音多频 4 2 设计选修掌握DTMF信号的解码算法原理掌握DTMF信号解码算法的DSP实现方法目录实验一基本算术运算的DSP实现1实验二数字振荡器的设计与实现9实验三 BSP 串口通信实现16实验四 FIR 数字滤波器设计与实现25实验五 TMS320VC5402 的Bootloader设计与实现34实验六快速傅立叶变换FFT的实现45实验七外部中断按键LED控制实验67实验八双音多频DTMF信号产生70实验九双音多频DTMF信号解码76附录一 DES5402PP-U性能介绍82附录二CCS驱动程序的安装83附录三DES5402PP-U功能详细介绍87附录四 DES5402PP-U板上设置状态显示跳线一览表93实验一基本算术运算的DSP实现实验学时4实验类型验证实验要求必修一实验目的1掌握CCS的配置与基本使用方法2掌握C54X汇编语言程序结构掌握基于CCS开发平台Simulator采用汇编指令完成16位定点加减乘除运算程序设计并对运算结果进行评价二实验内容本实验学习使用定点DSP实现16位定点加减乘除运算的基本方法和编程技巧三实验原理方法和手段1、定点DSP中数据表示方法C54X是16位的定点DSP一个16位的二进制数既可以表示一个整数也可以表示一个小数当它表示一个整数时其最低位D0表示D1位表示次高位D14表示如果表示一个有符号数时最高位D15为符号位0表示正数1表示负数例如07FFFH 表示最大的正数32767十进制而0FFFFH表示最大的负数-1负数用2的补码方式显示当需要表示小数时小数点的位置始终在最高位后而最高位D15表示符号位这样次高位D14表示然后是最低位D0表示所以04000H表示小数0501000H表示小数而0001H表示16位定点DSP能表示的最小的小数有符号 0000030517578125在后面的实验中除非有特别说明我们指的都是有符号数在C54X中将一个小数用16位定点格式来表示的方法是用乘以该小数然后取整从上面的分析可以看出在DSP中一个16进制的数可以表示不同的十进制数或者是整数或者是小数如果表示小数必定小于1但仅仅是在做整数乘除或小数乘除时系统对它们的处理才是有所区别的而在加减运算时系统都当成整数来处理2、实现16定点加法C54X中提供了多条用于加法的指令如ADDADDCADDM和ADDS其中ADDS用于无符号数的加法运算ADDC用于带进位的加法运算如32位扩展精度加法而ADDM 专用于立即数的加法在本实验中我们可以使用下列代码来说明加法运算ld temp1a 将变量temp1装入寄存器Aadd temp2a 将变量temp2与寄存器A相加结果放入A中stl aadd_result 将结果低16位存入变量add_result中注意这里完成计算temp3 temp1temp2我们没有特意考虑temp1和temp2是整数还是小数在加法和下面的减法中整数运算和定点的小数运算都是一样的3、实现16位定点减法C54X中提供了多条用于减法的指令如SUBSUBBSUBC和SUBS其中SUBS用于无符号数的减法运算SUBB用于带进位的减法运算如32位扩展精度的减法而SUBC为移位减DSP中的除法就是用该指令来实现的SUB指令与ADD指令一样有许多的寻址方式其详细使用说明请查阅TI文档在本实验中我们可以使用下列代码来说明减法运算stm temp1ar3 将变量temp1的地址装入ar3寄存器stm temp3ar2 将变量temp3的地址装入ar3寄存器sub ar2 ar3b 将变量temp3左移16位同时变量temp1也左移16位然后相减结果放入寄存器B高16位中同时ar2加1sth bsub_result 将相减的结果高16位存入变量sub_result4、实现16定点整数乘法在C54X中提供了大量的乘法运算指令其结果都是32位放在A或B寄存器中乘数在C54X的乘法指令很灵活可以是T寄存器立即数存贮单元和A或B寄存器的高16位在C54X中一般对数据的处理都当做有符号数如果是无符号数乘时请使用MPYU指令这是一条专用于无符号数乘法运算的指令而其它指令都是有符号数的乘法在本实验中我们使用下列代码来说明整数乘法运算rsbx FRCT 清FRCT标志准备整数乘ld temp1T 将变量temp1装入T寄存器mpy temp2a 完成temp2temp1结果放入A寄存器32位例如当temp1 1234H十进制的4660temp2 9876H十进制的-26506乘法的结果在A寄存器中为0F8A343F8H十进制的-123517960这是一个32位的结果需要两个内存单元来存放结果sth ampy_I_h 将结果高16位存入变量mpy_I_hstl ampy_I_l 将结果低16位存入变量mpy_I_l当temp1 10H十进制的16temp2 05H十进制的5乘法结果在A寄存器中为00000050H十进制的80对于这种情况仅仅需要保存低16位即可stl ampy_I_l 将结果低16位存入变量mpy_I_l5、实现16定点小数乘法在C54X中小数的乘法与整数乘法基本一致只是由于两个有符号的小数相乘其结果的小数点的位置在次高的后面所以必须左移一位才能得到正确的结果C54X中提供了一个状态位FRCT将其设置为1时系统自动将乘积结果左移移位但注意整数乘法时不能这样处理所以上面的实验中一开始便将FRCT清除两个小数16位相乘后结果为32位如果精度允许的话可以只存高16位将低16位丢弃这样仍可得到16位的结果在本实验中我们使用下列代码来说明小数乘法运算ssbx FRCT FRCT 1准备小数乘法ld temp116a 将变量temp1装入寄存器A的高16位mpya temp2 完成temp2乘寄存器A的高16位结果在B中同时将temp2装入T寄存器sth bmpy_f 将乘积结果的高16位存入变量mpy_f 例如temp1 temp2 4000H十进制的05两数相乘后结果为20000000十进制的025再如temp1 0ccdH十进制的01temp2 0599aH十进制的07两数相乘后B寄存器的内容为08f5f0a4H十进制的007000549323857如果仅保存结果的高16位08f5H十进制的006997680664063有时为了提高精度可以使用RND或使用MPYR 指令对低16位做四舍五入的处理6、实现16定点整数除法在C54X中没有提供专门的除法指令一般有两种方法来完成除法一种是用乘法来代替除以某个数相当于乘以其倒数所以先求出其倒数然后相乘这种方法对于除以常数特别适用另一种方法是使用SUBC指令重复16次减法完成除法运算下面我们以temp1temp2为例说明如何使用SUBC指令实现整数除法其中变量temp1为被除数temp2为除数结果即商存放在变量temp3中在完成整数除法时先判断结果的符号方法是将两数相乘保存A或B的高16位以便判断结果的符号然后只做两个正数的除法最后修正结果的符号为了实现两个数相除先将被除数装入A或B的低16位接着重复执行SUBC指令用除数重复减16次后除法运算的商在累加器的低16位余数在高16位详细代码如下ld temp1T 将被除数装入T寄存器mpy temp2A 除数与被除数相乘结果放入A寄存器ld temp2B 将除数temp2装入B寄存器的低16位abs B 求绝对值stl Btemp2 将B寄存器的低16位存回temp2ld temp1B 将被除数temp1装入B寄存器的低16位abs B 求绝对值rpt 15 重复SUBC指令16次subc temp2b 使用SUBC指令完成除法运算bcd div_endagt 延时跳转先执行下面两条指令然后判断A 若A 0则跳转到标号div_end结束除法运算stl Bquot_i 将商B寄存器的低16位存入变量quot_isth Bremain_i 将余数B寄存器的高16位存入变量remain_ixor B 若两数相乘的结果为负则商也应为负先将B寄存器清0sub quot_iB 将商反号stl Bquot_i 存回变量quot_i中div_end上面给出的是整数除法的通用程序在实际应用中可以根据具体情况做简化如正数除法可以直接将被除数temp1装入B寄存器的低16位然后用SUBC指令循环减除数temp2减完后B寄存器中低16位为商高16位为余数不用判断符号从而节省时间例如temp1 10H十进制的16temp2 5两数相除后商为3在B寄存器的低16位余数为1在B寄存器的高16位7、实现16定点小数除法在C54X中实现16位的小数除法与前面的整数除法基本一致也是使用循环的SUBC指令来完成但有两点需要注意第一小数除法的结果一定是小数小于1所以被除数一定小于除数这与整数除法正好相反所以在执行SUBC指令前应将被除数装入A或B寄存器的高16位而不是低16位其结果的格式与整数除法一样A 或B寄存器的高16位为余数低16位为商第二与小数乘法一样应考虑符号位对结果小数点的影响所以应对商右移一位得到正确的有符号数其详细代码如下ld temp1T 将被除数装入T寄存器mpy temp2A 除数与被除数相乘结果放入A寄存器ld temp2B 将除数temp2装入B寄存器的低16位abs B 求绝对值stl Btemp2 将B寄存器的低16位存回temp2ld temp116B 将被除数temp1装入B寄存器的高16位abs B 求绝对值rpt 15 重复SUBC指令16次subc temp2b 使用SUBC指令完成除法运算and 0ffffhB 将B寄存器的高16位清为0这时余数被丢弃仅保留商bcd div_endagt 延时跳转先执行下面两条指令然后判断A 若A 0则跳转到标号div_end结束除法运算stl B-1quot_f 将商右移一位后存入变量quot_f右移是为了修正符号位xor B 若两数相乘的结果为负则商也应为负先将B 寄存器清0sub quot_fB 将商反号stl Bquot_f 存回变量quot_f中div_end注意上面的C54X的16位定点有符号小数除法通用程序没有保留余数商保存在变量temp3中举一个例子当temp1 2cccH十进制的035temp2 55c2H十进制的067两数相除的结果为temp3 42dcH十进制的0x42dc052233四实验条件PC机 DES5402PP-U实验系统若使用需要将CCS配置为硬件仿真器五实验步骤本实验需要使用C54X汇编语言实现加减乘除的基本运算并通过DES的存贮器显示窗口观察结果实验分两步完成1编写实验程序代码本实验的汇编源程序代码主要分为六个部分加法减法整数乘法小数乘法整数除法和小数除法每个部分后面都有一条需要加断点的标志语句nop当执行到这条加了断点的语句时程序将自动暂停这时你可以通过存贮器窗口检查计算结果当然你看到的结果都是十六进制的数2在simulator上调试运行并观察结果在完成实验程序代码的输入并在CCS集成开发环境采用编译器对各模块进行编译并连接后就可以在simulator上调试运行步骤如下将CCS配置为C5402 simulator启动CCS新建工程exer1prj将编写的主程序文件CMD文件中断向量表添加到工程对各模块进行编译然后rebuild生成out输出文件c在CCS界面单击菜单栏File下面的Load选项并在弹出的File Name对话框中选择Debug文件夹下面的exer1out装入基本算术运算实验程序这时应能在反汇编窗口看到程序代码d 用鼠标选中Memory窗口并在其中选择要查看的存贮器地址段0x080-0x08ee 在反汇编窗口中在每个nop指令处都设一个断点方法有两种1用鼠标单击该指令将其点亮即可2在菜单栏中选择Break Add然后在弹出的对话框中键入欲加断点的地址即可f 单击菜单栏下的Run F5按钮启动执行基本算术运算程序程序在执行完加法运算后自动暂停通过CPU窗口可以看到寄存器AHL的内容为0x46这正是加法运算的结果同样在Memory窗口中可以看到0x810x820x88的内容为分别为001200340x46执行加法运算后将0x81和0x82的内容相加结果放在0x88单元g 在Memory窗口中用鼠标左键双击0x81单元这时可以修改该内存单元的内容输入新的数据0x0ffee十进制的-18编辑内容时请直接输入FFEE十六进制然后回车确认便完成对0x81单元的修改h 在CPU 窗口中修改PC值方法也是鼠标左键双击PC寄存器的内容输入新的PC值0x1805编辑内容时直接输入1805并用回车键确认i 单击菜单栏下的Run F5按钮程序从当前PC继续运行重新计算0x81和0x82的和结果在0x88中当程序再次暂停时可以看到AHL寄存器和0x88的内容为0x22十进制的34这正是我们希望的结果-1852 34j 单击Run F5按钮程序从当前PC继续运行完成减法运算当程序再次暂时断点位于0x1813可以看到0x83和0x84单元的内容分别为FFEE和0012B寄存器的内容为ffdc0000而0x89的内容为ffdc十进制-36这正是我们希望的结果注意该减法操作使用了辅助寄存器寻址所以计算结果在B寄存器的高16位 k 单击Run F5按钮程序从当前PC继续运行完成整数乘法运算当程序再次暂时断点位于0x181d可以看到0x81和0x82单元的内容分别为0012和0034A 寄存器的内容为000003A8这正是我们希望的结果1852 936 0x3a8 这时我们可以用1个16位的内容单元来保存结果如将A寄存器的低16位存入0x8b单元但如果将0x81的内容修改为0x2000十进制的8192在CPU窗口中将PC修改为1818然后继续运行重新计算乘法当程序完成乘法暂停时可以看到A寄存器的内容为00068000这也是一个正确的结果819252 4259840x68000此时将无法用一个16位的存贮单元来保存A寄存器中的结果l 单击Run F5按钮程序从当前PC继续运行完成小数乘法运算当程序再次暂停时断点位于0x1826可以看到0x83和0x84单元的内容分别为4000和b548A 寄存器的内容为40000000乘法的结果在B寄存器中为daa40000这正是我们希望的结果05 -058374 -029187 0x0daa4 对于小数乘法一般情况都可以用1个16位的内容单元将B寄存器的高16保存如存入0x8c单元m 单击Run F5按钮程序从当前PC继续运行完成整数除法运算当程序再次暂时断点位于0x183b可以看到0x810x820x8d和0x8e单元的内容分别为00340012FFFE和0010这正是我们希望的结果52除以-18商为-2 0xfffe 余数为16 0x10n 单击Run F5按钮程序从当前PC继续运行完成小数除法运算当程序再次暂停时断点位于0x1852可以看到0x810x82和0x8f单元的内容分别为40004ab8和6da3这正是我们希望的结果05058374 08565457 0x6da3o 如果以上程序运行不正确请检查代码是否输入正确还可以在源代码中插入断点调试注意对中间结果的观察六实验报告要求1实验前进行预习初步编写相应实验程序代码2、实验时对实验代码进行调试并不断修改达到正确结果3、写出本次实验的心得体会七思考题1对直接寻址用法有什么体会如果在直接寻址前遗漏对DP初始化对结果有什么影响2在小数乘法中使用了置FRCT标志为1的指令如果将该语句取消那么B寄存器的结果是多少想想什么时候应该设置FRCT标志实验_2_数字振荡器的设计与实现实验学时 4实验类型设计实验要求必修一实验目的通过本实验的学习让学生掌握多模块程序设计方法掌握定时器使用掌握简单算法的DSP实现以及CCS环境下图形工具的简单应用二预习和参考1数字振荡器原理设一个传递函数为正弦序列sinkωT其z变换为H z其中A 2cosωT B -1 C sinωT设初始条件为0求出上式的反Z变换得y[k] Ay[k-1]By[k-2]Cx[k-1]这是一个二阶差分方程其单位冲击响应即为sinkωT利用单位冲击函数x[k-1]的性质即仅当k 1时x[k-1] 1代入上式得k 0 y[0] Ay[-1] By[-2] 0 0k 1 y[1] Ay[0] By[-2] c ck 2 y[2] Ay[1] By[0] 0 Ay[1]k 3 y[3] Ay[2] By[1]k n y[n] Ay[n-1] By[n-2]在k 2以后y[k]能用y[k-1]和y[k-2]算出这是一个递归的差分方程根据上面的说明我们可以开始数字振荡器的设计设该振荡器的频率为2kHz采样率为40kHz通过定时器设置每隔25us中断一次即产生一个y[n]则递归的差分方程系数为A 2cosωT 2cos 2 x PI x 2000 40000 2 x 095105652B -1C sinωT sin 2 x PI x 2000 40000 030901699为了便于定点DSP处理我们将所有的系数除以2然后用16位定点格式表示为这便是本实验中产生2KHz正弦信号的三个系数在本实验中主程序在初始化时先计算出y[1]和y[2]然后开放定时器中断以后每次进入定时器中断服务程序时利用前面的y[1]和y[2]计算出新的有y[0]通过CCS提供的图形显示工具我们将在图形窗口中看到一个正弦信号波形下面是初始化和中断服务程序代码片段初始化y[1]和y[2]ssbx FRCT 置FRCT 1准备进行小数乘法运算st INIT_AAA 将常数A装入变量AAst INIT_BBB 将常数B装入变量BBst INIT_CCC 将常数C装入变量CCpshd CC 将变量CC压入堆栈popd y2 初始化y2 CCld AA T 装AA到T寄存器mpy y2a y2乘系数A结果放入A寄存器sth ay1 将A寄存器的高16位存入变量Y1 中断服务程序片段ld BBT 将系数B装入T寄存器mpy y2a y2乘系数B结果放入A寄存器ltd y1 将y1装入T寄存器同时复制到y2mac AAa 完成新正弦数据的计算a寄存器中为y1AAy2BBsth a1y1 将新数据存入y1因所有系数都除过2所以在保存结果时转移一位恢复数据正常大小sth a1y0 将新正弦数据存入y02C54X的定时器操作C54X的片内定时器利用CLKOUT时钟计数用户使用三个寄存器TIMPRDTCR来控制定时器参见表2-1在表2-2中列出了定时器控制寄存器的各个比特位的具体定义VC5402的另一个定时器定时器1的控制寄存器分别为0x30TIM10x31PRD10x32TCR1表2-1 VC5402定时器0的相关寄存器寄存器地址名称用途0024h TIM 定时器寄存器每计数一次自动减1 0025h PRD 定时器周期寄存器当TIM减为0后CPU自动将PRD的值装入TIM 0026h TCR 定时器控制寄存器表2-2 定时器控制寄存器TCRbit概要比特名称功能15-12 保留读出时为011 Soft 该比特位与10位配合使用以决定定时器在使用仿真调试时状态Soft 0 当进入仿真调试时定时器立即停止工作Soft 1 当计数器被减为0后停止工作10 Free 该位与11位配合使用以决定定时器在使用仿真调试时状态Free 0 根据11比特位决定定时器状态Free 1 忽略11比特位定时器不受影响9-6 PSC 定时器预置计数器当PSC减为0后CPU自动将TDDR装入然后TIM开始减15 TRB 定时器复位当TRB 1时CPU将PRD寄存器的值装入TIM寄存器将TDDR的值装入PSC4 TSS 定时器启停控制位当系统复位时TSS被清除定时器立刻开始工作TSS 0 表示启动定时器TSS 1 表示停止定时器0-3 TDDR 定时器扩展周期当PSC减到0后CPU自动将TDDR的值装入PSC然后TIM减 1所以整个定时器的周期寄存器可以有20个比特PRDTDDR 从上面的介绍可以看到定时器实际上可以有20个比特的周期寄存器它对CLKOUT信号计数先将PSC减1直到PSC为0然后用TDDR重新装入PSC同时将TIM 减1直到TIM减为0这时CPU发出TINT中断同时在TOUT引脚输出一个脉冲信号脉冲宽度为CLKOUT一致然后用PRD重新装入TIM重复下去直到系统或定时器复位因而定时器中断的频率由下面的公式决定TINT的频率其中tc表示CLKOUT的周期定时器当前的值可以通过读取TIM寄存器和TCR 寄存器的PSC比特位得到下面是本实验中初始化定时器的程序片段 stm 10hTCR 停止定时器stm 2499PRD 设置PRD寄存器值为2499TINT中断频率为 Foutclk 24991 100MHz2500 40 KHz stm 20hTCR 重新装入TIM和PSC然后启动定时器 3C54X中断的使用在C54X中用户可以通过中断屏蔽寄存器IMR来决定开放或关闭一个中断请求图2-1给出了C5402的IMR寄存器的各个比特位的定义图2-1 C5402的IMR寄存器其中HPINT表示HPI接口中断INT3-INT0为外部引脚产生的中断TXINT和TRINT为TDM串口的发送和接收中断BXINT0和BRINT0为BSP串口的发送和接收中断TINT0为定时器0中断在中断屏蔽寄存器IMR中1表示允许CPU响应对应的中断0表示禁止当然要CPU响应中断ST1寄存器中的INTM还应该为0允许所有的中断当DSP响应中断时PC指针指向中断向量表中对应中断的地址进入中断服务子程序中断向量表是C54X存放中断服务程序的一段内存区域大小为80H在中断向量表中每一个中断占用4个字的空间一般情况是将一条跳转或延时跳转指令存放于此当然如果中断服务程序很短小于或等于4个字可以直接放入该向量表中断向量表的位置可以通过修改基地址来改变其基地址由PMST寄存器中的IPTR15-7 bits决定中断向量表的各中断的偏移说明以及中断向量地址的形成请参考教材以及教材附录部分例如C54x复位后其IPTR全为1复位中断的偏移量为0所以中断向量表起始位置在0FF80H因而复位后程序从0FF80H开始运行本实验的初始化程序读取中断向量表的启始地址然后设置PMST的高9位以便DSP能正确响应中断代码如下ld 0dp 设置DP页指针ssbx intm 关闭所有中断ld vector a 读出中断向量地址vector在中断向量表程序中定义and 0FF80h a 保留高9位IPTRandm 007Fh pmst 保留PMST的低7位or pmst astlm a pmst 设置PMST其中包括IPTR三实验要求基于DSP的定时器产生2KHz正弦波采样率为40KHz或者自定义但必须满足采样定理采样CCS图形查看工具查看产生波形及其频谱图四实验条件PC机 DES5402PP-U实验系统五调试及结果测试本实验需要使用C54X汇编语言或C语言实现数字振荡器并通过CCS提供的图形显示窗口观察输出信号波形以及频谱实验分下面几步完成1根据确定数字振荡器的频率计算并确定系数2启动CCS新建工程文件如文件名为sinewaveprj选择Project菜单中的Add File to Project选项将所编写的汇编源程序exer2asmvec_tableasm和连接命令sinewavecmd文件依次添加到工程文件中注意你可以在添加文件对话框中选择显示不同的文件类型来加快文件选择速度你也可以使用鼠标右键单击工程文件名如sinewaveprj并选择Add Files项来添加需要的文件其中exer2asm 包括初始化代码和中断服务程序而vec_talbeasm包含中断向量表 3选择Project菜单中的Options选项或使用鼠标右键单击工程文件名如sinewaveprj并选择Options项来修改或添加编译连接中使用的参数例如选择Assembler窗口选择Enable Symbolic Debug Infomation以便使用汇编源代码级调试你可以在汇编源程序设置断点等等选择Linker窗口在Output Filename 栏中写入输出OUT文件的名字如sineout你还可以设置生成的MAP文件名 4完成编译连接正确生成OUT文件然后使用File菜单的Load Program选项将生成的OUT文件如sineout装入DSP的片内存储器这时CCS将显示程序的启始地址_c_int005选View→Graph→TimeFrequency打开图形显示设置窗口在弹出的对话框中按图2-2设置所示主要修改Start Address为y0y0为生成的正弦波输出变量Acquisition Buffer Size为1DSP Data Type为16-bit signed integer 图2-2 CCS图形查看工具设置6在汇编源程序的中断服务程序_tint中的nop语句处设置断点该行被加亮为洋红色选择Debug→Animate运行程序观察输出波形数一数一个周期的正弦波有多少个点算算频率是否是2kHz另外想想Run和Animate两种运行方式的区别 7用右键单击图形显示窗口并选择Proporties项以便修改显示属性将Display Type项改为FFT Magnitude以便显示信号频谱修改Sampling Rate Hz 项为40000然后退出注意观察生成的正弦波频率8清除所有断点关闭除波形显示窗口外的所有窗口并关闭工程文件9下面我们使用C语言完成本实验新建一个工程文件如sinewave_cprj并添加所编写的timercvec_tableasm源程序再添加timercmd再添加C使用的标准库rtslib该文件应该在CCS安装目录中例如若CCS安装在d\ti下则rtslib应该在d\ti\c5400\cgtools\lib下修改编译连接选项加入符号调试选项修改生成的OUT文件名如timerout10完成编译连接正确生成OUT文件然后使用File菜单的Load Program选项将生成的OUT文件如timerout装入DSP的片内存储器这时CCS将显示程序的启始地址_c_int0011 打开C源程序timerc窗口在中断服务程序函数tint 的con_buf 0语句处增加一个断点同样打开图形显示窗口并将Start Address改为bufAcquisition Buffer Size改为128Display Data Size改为128DSP Data Type 为32-bit floating point12选择Debug→Animate运行程序观察输出波形数一数一个周期的正弦波有多少个点算算频率是否是2kHz同样用右键单击图形显示窗口显示信号频谱注意修改Sampling Rate Hz 项为40000然后退出注意观察生成的正弦波频率六实验报告要求1预习报告分析采用数字信号处理方法产生正弦波原理复习定时器工作原理及中断控制方法考虑主程序中断向量表以及CMD模块的编写2实习记录根据实习步骤记录实验结果图形考虑显示图形的设置3实验报告1汇出实验结果信号曲线图及其频谱图2进行本次实验总结七思考题1本实验程序产生了一个2kHz的正弦信号请修改程序产生一个频率相同的余弦信号为了验证产生的COS信号可以同时生成SIN和COS信号然后在两个图形窗口中显示波形它们应该正好相差 2相位。
河海大学数字信号处理实验 综合实验
数字信号处理综合实验班级: 姓名: 学号:一、实验目的1.掌握MATLAB 的程序设计方法;2.掌握数字信号处理的基本理论和基本方法; 3.掌握语音信号的采集与处理方法;4.掌握用MATLAB 设计FIR 和IIR 数字滤波器的方法; 5.掌握用MA TLAB 对信号进行分析和处理的方法;二、实验原理y=exp(x): 以e 为底的指数。
conj(x): 取x 的共轭,即改变x 的虚部符号。
real(x): 取复数x 的实部。
rand(1,N): 生成在0和1之间均匀分布的随机序列,长度为N 。
randn(1,N): 生成正态分布(高斯分布)的随机序列,长度为N 。
sound(f,fs): 输入参量是音频数据向量、采样频率和转换位数。
X=fft(x,N): 计算序列x 的N 点FFT 。
如果x 的长度小于N ,则在x 后面补零;如果x 的长度大于N ,则对x 进行截取;如果不指定参数N ,则以x 的实际长度作为FFT 的点数。
x=ifft(X,N): 计算序列X 的N 点IFFT 。
Y=fftshift(X): 将序列X 分成左右两部分并交换位置。
[N, Wn] = buttord(Wp, Ws, Rp, Rs, 's'): 求巴特沃思滤波器的阶数N 和3dB 边界角频率Wn 。
Rp 和Rs 分别为通带波动δ和阻带衰减At ,单位均为dB ;'s'表示模拟滤波器设计,如无此参数,则表示数字滤波器设计;Wp 和Ws 分别表示通带边界角频率Ωc 和阻带边界角频率Ωr ,其值为标量(低通和高通)或双元素向量(带通和带阻)。
[b, a] = butter(N, Wn, 'ftype', 's'): 根据N 和Wn 求巴特沃思滤波器的系统函数H(s),b 和a 分别为H(s)分子和分母多项式的系数。
‘ftype ’指定滤波器类型,值为‘low ’、‘high ’或‘stop ’, ‘low ’为缺省值,表示设计低通或带通滤波器(取决于Wn 是标量还是双元素向量),‘high ’或‘stop ’分别表示设计高通和带阻滤波器。
DSP实验课大作业设计
DSP实验课大作业设计一实验目的二实验内容三实验步骤该实验中设定的几个参数(必须给出)TargetDistance=[3000 8025 8025 s]---------------目标距离TargetVelocity=[50 0 -120 v]---------------目标速度四实验结果及讨论本部分将详细分析实验得到的数据、图像、误差、产生速度模糊的原因以及脉压频域、时域执行周期。
4.1脉压、MTI、MTD结果的比较:(1)脉冲压缩的结果对比如图1所示。
通过上图可以看到,前后共有16个PRT,每个PRT都有3根线,距离可以算出是(x-1)*75m=s m……。
目标1是第一根,有遮挡,所以幅度低,带宽小,且与系数不匹配,时域的脉压峰就宽。
目标2与3由于距雷达距离相等,所以脉压结果重合矢量相加,中间线幅度在明显变化,相当于目标4的(1-0.5,1+0.5)倍之间。
(2)MTI结果对比如图2所示。
由于目标2是静止目标经过1次时延对消被滤除了,按照“MTI幅度-速度响应曲线”,199m/s处的MTI增益最大,0m/s和398m/s的响应都是0,以此来解释3个运动目标相对的幅度变化关系。
例如,230m/s的增益比278m/s(等同于-120m/s)的增益大,这解释了MTI前后目标3、4间幅度对比的变化。
(3)MTD结果对比如图3所示。
MTD算法实现了每个通道对应一个中心频率为(PRF/16)*n(n=-8,-7…6,7)的多通道滤波器组,这样可以将不同速度的目标通过不同的滤波器分辨出,通道数越多,速度分辨率越高。
另外,当多普勒频率刚好或接近为某个中心频率的目标通过滤波器时,该目标会得到“足量的”相参积累。
无泄漏时,MTD的幅度增益对所有速度的目标都是16倍。
目标二为静目标,正好处在通道0的中心,从而进行了相参积累,输出幅度增益最大。
频谱泄漏与多普勒通道的频率分辨率有关,最严重的泄漏发生在:fd=(2n+1)/2*分辨率或者等效的v=(2n+1)/2*速度分辨率如速度分辨率为25m/s,速度为37.5m/s,则在多普勒通道1和2上有“等值的平顶”,幅度较低。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四无限长单位脉冲响应滤波器设计班级:姓名:学号:一、实验目的1、掌握双线形变换法及脉冲响应不变法设计IIR数字滤波器的具体设计方法及其原理,熟悉用双线形变换法及脉冲响应不变法设计低通,高通和带通IIR数字滤波器的计算机编程。
2、观察双线形变换法及脉冲响应不变法设计的滤波器的频域特性,了解双线形变换法及脉冲响应不变法的特点。
3、熟悉巴特沃思滤波器,切比雪夫滤波器和椭圆滤波器的频率特性。
;二、实验原理1、将模拟滤波器的参数指标通过频率变换转换为原型模拟低通滤波器的参数指标,设计满足指标要求的原型模拟低通滤波器,通过频率变换将原型模拟低通滤波器的系统函数变换为其他类型的模拟滤波器2、脉冲响应不变法是使数字滤波器的单位脉冲响应序列h(n)逼近模拟滤波器的冲激响应hs(t),让h(n)正好等于hs(t)的采样值。
3、双线性变换法使得s平面与z平面是一一映射关系,消除了多值变换性,克服了脉冲响应不变法产生的频响的混叠失真。
4、巴特沃思滤波器通带内有最大平坦的幅度特性且随着频率的升高而单调的下降和切比雪夫滤波器逼近误差峰值在一个规定的频段上位最小。
三、实验内容1、fc=0.3kHz,δ=0.8dB,fr=0.2kHz,At=20dB,T=1ms;设计一切比雪夫高通滤波器,观察其通带损耗和阻带衰减是否满足要求。
2、fc=0.2kHz, δ=1dB,fr=0.3kHz,At=25dB,T=1ms;分别用脉冲响应不变法及双线形变换法设计一巴特沃思数字低通滤波器,观察所设计数字滤波器的幅频特性曲线,记录带宽和衰减量,检查是否满足要求。
比较这两种方法的优缺点。
3、利用双线性变换法分别设计满足下列指标的巴特沃思滤波器,切比雪夫滤波器和椭圆滤波器,并作图验证设计结果:fc=1.2kHz, δ<=0.5dB,fr=2kHz,At>=40dB,fs=8kHz。
4、分别用脉冲响应不变法及双线形变换法设计一巴特沃思数字带通滤波器,已知fs=3kHz,其等效的模拟滤波器指标为δ<3kHz, 2kHz<f<=3kHz, At>=5dB, f>=6kHz, At>=20dB,f<=1.5kHz。
5、利用双线性变换法设计满足下列指标的切比雪夫型数字带阻滤波器,并作图验证设计结果:当1kHz<=f<=2kHz 时,At>=18dB ;当f<=500Hz 以及f>=3kHz 时,δ<=3dB ;采样频率fs=10kHz 。
四、实验结果与分析1、解:实验程序:wc=2*1000*tan(2*pi*300/(2*1000)); wr=2*1000*tan(2*pi*200/(2*1000)); [N,wn]=cheb1ord(wc,wr,0.8,20,'s'); [B,A]=cheby1(N,0.8,wn,'high','s'); [num,den]=bilinear(B,A,1000); [h,w]=freqz(num,den); f=w/pi*500;plot(f,20*log10(abs(h))); axis([0,500,-80,10]); grid on;xlabel('频率/Hz'); ylabel('幅度/dB');实验图形:050100150200250300350400450500-80-70-60-50-40-30-20-10010频率/Hz幅度/d B理论分析:f=200Hz 时阻带衰减大于30dB ,通过修改axis([0,fs/2,-80,10])为axis([200,fs/2,-1,1]),发现通带波动rs 满足<0.8。
200250300350400450500-1-0.8-0.6-0.4-0.200.20.40.60.81频率/Hz幅度/d Bbz =[0.0262 -0.1047 0.1570 -0.1047 0.0262]az =[1.0000 1.5289 1.6537 0.9452 0.2796]系统函数为:432143212796.09452.06537.15289.110262.01047.01570.01047.0-0262.0)(H --------+++++-+=z z z z z z z z z2、解:实验程序:fs=1000;fc=200;fr=300;rp=1;rs=25; wp=2*pi*fc; ws=2*pi*fr;[N, wn] = buttord(wp, ws, rp, rs, 's'); [b1 a1]=butter(N,wn,'s'); [bz1,az1]=impinvar(b1,a1,fs); [h1,w]=freqz(bz1,az1); wp=2*fs*tan(2*pi*fc/fs/2); ws=2*fs*tan(2*pi*fr/fs/2);[N, wn] = buttord(wp, ws, rp, rs, 's'); [b2 a2]=butter(N,wn,'s'); [bz2,az2]=bilinear(b2,a2,fs); [h2,w]=freqz(bz2,az2); f=w/(2*pi)*fs;figure; plot(f,abs(h1),'-.r',f,abs(h2),'-b'); grid; xlabel('频率/Hz'); ylabel('幅度'); legend('脉冲响应不变法','双线性变换法'); title('巴特沃思低通滤波器幅频特性');实验图形:5010015020025030035040045050000.20.40.60.811.21.4频率/Hz幅度巴特沃思低通滤波器幅频特性理论分析:bz1 =[0.0000 0.0002 0.0153 0.0995 0.1444 0.0611 0.0075 0.0002 0.0000 0]az1 =[1.0000 -1.9199 2.5324 -2.2053 1.3868 -0.6309 0.2045 -0.0450 0.0060 -0.0004]脉冲响应不变法的系统函数为:12345671234567890.00020.01530.09950.14440.06110.00750.0002()1 1.9199 2.5324 2.2053 1.38680.63090.20450.04500.00600.0004imp z z z z z z z H z z z z z z z z z z ----------------+++---=-+-+-+-+-bz2 =[0.0179 0.1072 0.2681 0.3575 0.2681 0.1072 0.0179] az2 =[1.0000 -0.6019 0.9130 -0.2989 0.1501 -0.0208 0.0025]双线性变换法的系统函数为:1234561234560.01790.10720.26810.35750.26810.10720.0179()10.60190.91300.29890.15010.02080.0025bil z z z z z z H z z z z z z z------------++++++=-+-+-+脉冲响应不变法的N=9,双线性变换法的N=6,由图知它们都满足要求,但脉冲响应的衰减较快,双线性变换的过渡带窄一些,且阶数比脉冲小,容易实现。
3、解:实验程序:fs=8000;fc=1200;fr=2000;rp=0.5;rs=40;wp=2*fs*tan(2*pi*fc/fs/2);ws=2*fs*tan(2*pi*fr/fs/2); [N, wn] = buttord(wp, ws, rp, rs, 's');[b1a1]=butter(N,wn,'s');[bz1,az1]=bilinear(b1,a1,fs);[h1,w]=freqz(bz1,az1); H1=20*log10(abs(h1));f=w/(2*pi)*fs;figure; plot(f,H1);axis([0,fs/2,-100,10]);grid; xlabel('频率/Hz'); ylabel('幅度'); title('巴特沃思低通滤波器对数幅度谱');wc=2*fs*tan(2*pi*fc/(2*fs));wt=2*fs*tan(2*pi*fr/(2*fs)); [N,wn]=cheb1ord(wc,wt,rp,rs,'s');[b2,a2]=cheby1(N,rp,wn,'low','s');[bz2,az2]=bilinear(b2,a2,fs);[h2,w]=freqz (bz2,az2);H2=20*log10(abs(h2));f=w*fs/(2*pi);figure;plot(f,H2);axis([0,fs/2,-100,10]); grid;xlabel('频率/Hz');ylabel('幅度/dB'); title('切比雪夫低通滤波器对数幅度谱');wp=2*fs*tan(2*pi*fc/fs/2); [N,wp]=ellipord(wp,ws,rp,rs,'s');[b3,a3]=ellip(N,rp,rs,wp,'low','s');[bz3,az3]=bilinear(b3,a3,fs);[h3,w]=fre qz(bz3,az3);H3=20*log10(abs(h3));f=w/(2*pi)*fs;figure;plot(f,H3);axis([0,fs/2,-100,10]);grid; xlabel('频率/Hz'); ylabel('幅度/dB');title('椭 圆型数字低通滤波器对数幅度谱');实验图形(1):5001000150020002500300035004000-100-90-80-70-60-50-40-30-20-10010频率/Hz幅度巴特沃思低通滤波器对数幅度谱理论分析:bz1 =[0.0004 0.0032 0.0129 0.0302 0.0453 0.0453 0.0302 0.0129 0.0032 0.0004]az1 =[1.0000 -2.7996 4.4582 -4.5412 3.2404 -1.6330 0.5780 -0.1370 0.0197 -0.0013]系统函数为:12345678911234567890.00040.00320.01290.03020.04530.04530.03020.01290.00320.0004H ()1 2.7996 4.4582 4.5412 3.2404 1.63300.56800.13700.01970.0013z z z z z z z z z z z z z z z z z z z ------------------++-++++++=-+-+-+-+-N=9,为九阶巴特沃思低通滤波器,从图中可以看出通带波动和阻带衰减都满足设计要求。