FIR滤波器的DSP设计 FFT的DSP实验

合集下载

实验4 FIR数字滤波器的DSP编程实现-推荐下载

实验4 FIR数字滤波器的DSP编程实现-推荐下载

对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术通关,1系电过,力管根保线据护敷生高设产中技工资术艺料0不高试仅中卷可资配以料置解试技决卷术吊要是顶求指层,机配对组置电在不气进规设行范备继高进电中行保资空护料载高试与中卷带资问负料题荷试2下卷2,高总而中体且资配可料置保试时障卷,各调需类控要管试在路验最习;大题对限到设度位备内。进来在行确管调保路整机敷使组设其高过在中程正资1常料中工试,况卷要下安加与全强过,看度并22工且22作尽22下可22都能22可地护以缩1关正小于常故管工障路作高高;中中对资资于料料继试试电卷卷保破连护坏接进范管行围口整,处核或理对者高定对中值某资,些料审异试核常卷与高弯校中扁对资度图料固纸试定,卷盒编工位写况置复进.杂行保设自护备动层与处防装理腐置,跨高尤接中其地资要线料避弯试免曲卷错半调误径试高标方中高案资等,料,编试要5写、卷求重电保技要气护术设设装交备备置底4高调、动。中试电作管资高气,线料中课并敷3试资件且、设卷料中拒管技试试调绝路术验卷试动敷中方技作设包案术,技含以来术线及避槽系免、统不管启必架动要等方高多案中项;资方对料式整试,套卷为启突解动然决过停高程机中中。语高因文中此电资,气料电课试力件卷高中电中管气资壁设料薄备试、进卷接行保口调护不试装严工置等作调问并试题且技,进术合行,理过要利关求用运电管行力线高保敷中护设资装技料置术试做。卷到线技准缆术确敷指灵设导活原。。则对对:于于在调差分试动线过保盒程护处中装,高置当中高不资中同料资电试料压卷试回技卷路术调交问试叉题技时,术,作是应为指采调发用试电金人机属员一隔,变板需压进要器行在组隔事在开前发处掌生理握内;图部同纸故一资障线料时槽、,内设需,备要强制进电造行回厂外路家部须出电同具源时高高切中中断资资习料料题试试电卷卷源试切,验除线报从缆告而敷与采设相用完关高毕技中,术资要资料进料试行,卷检并主查且要和了保检解护测现装处场置理设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

DSP技术实验报告-实验3FIR滤波器设计与实现

DSP技术实验报告-实验3FIR滤波器设计与实现

电子科技大学电子工程学院标准实验报告(实验)课程名称DSP技术实验题目FIR滤波器设计与实现电子科技大学实验报告实验地点:科B453室实验时间:10月26日一、实验室名称:DSP技术实验室二、实验项目名称:FIR滤波器设计与实现三、实验学时:4四、实验目的:1.熟悉BF609开发板WL-BF609-EDU硬件平台。

2.熟悉CCES开发软件平台的使用,掌握CCES集成开发环境的基本操作和常用功能,掌握CCES工程的创建、程序编写、编译和调试。

3.掌握DSP中FIR滤波器设计、实现的方法。

五、实验内容:1.了解BF609开发板WL-BF609-EDU。

2.熟悉CCES集成开发环境的基本操作和常用功能。

3.学习实验指导书中的低通滤波器设计与实现,验证滤波效果。

4.独立设计、实现FIR高通滤波器,并验证滤波效果。

六、实验环境:1.预装开发环境Cross Core Embedded Studio 1.0.2的计算机。

2.BF609开发板一套。

3.ADDS HPUSB-ICE仿真器一套。

七、实验步骤:输入条件:1MHz的点频信号,峰值为1;10M的点频信号,峰值为0.5;采样时钟40MHz。

滤波器:17阶低通滤波器。

输出:保留10MHz 的点频信号,滤除1M 的点频信号。

1.用MATLAB 设计FIR 高通滤波器FIR 滤波器原理有M 个权系数(抽头)的FIR 滤波器,如下图所示。

滤波器的输入为随机过程()x n ,输出为1()()M i i y n w x n i -*==-∑其中,i w 表示横向滤波器的权系数。

......图M 抽头的FIR 滤波器定义输入信号向量和权向量分别为 ()[(),(1),(1)]T n x n x n x n M =--+x011[,,,]T M w w w -=w则输出可表示为 ()()()H T y n n n *==w x x w2.FIR 滤波器高通滤波器实现(学习实验指导书中的低通滤波实验,独立完成高通滤波的DSP 实现) 八、FIR 高通滤波器代码输入条件:1MHz的点频信号,峰值为1;10M的点频信号,峰值为0.5;采样时钟40MHz。

FIR滤波器设计和DSP实现

FIR滤波器设计和DSP实现

FIR滤波器设计和DSP实现FIR滤波器(Finite Impulse Response Filter)又称为有限脉冲响应滤波器,是一种数字滤波器,其脉冲响应为有限长度。

FIR滤波器具有稳定性、线性相位等优点,广泛应用于数字信号处理(DSP)中。

1.窗函数法:窗函数法是FIR滤波器设计中最简单、最常用的方法之一、设计步骤主要有:选择合适的窗函数(如矩形窗、汉宁窗、哈宁窗等);确定滤波器的截止频率和通带或阻带波动范围;根据窗函数的特性进行滤波器系数的计算。

窗函数法设计得到的滤波器具有较好的频域响应,并且易于实现。

2.频率采样法:频率采样法是通过对滤波器在频域中的理想特性进行采样,然后进行逆变换得到滤波器系数。

设计步骤主要有:确定理想滤波器的频率响应;进行频率采样,得到取样频率上的实际频率响应;对实际频率响应进行逆变换,得到滤波器系数。

频率采样法设计的滤波器可以满足设计要求,但是需要进行逆变换,计算复杂度较高。

3.最小二乘法:最小二乘法是通过求解最小化均方差的优化问题,得到最佳滤波器系数。

设计步骤主要有:建立最小二乘优化问题的数学模型;对数学模型进行求解,得到最佳滤波器系数。

最小二乘法能够得到较好的滤波器性能,并且不需要进行逆变换,计算复杂度相对较低。

1.将滤波器的系数存储在系数寄存器中;2.将输入信号与相应的系数进行乘法运算;3.将乘法运算的结果累加得到输出信号;4.将输入信号和系数向右移动一个位置;5.重复步骤2-4,直到滤波器输出满足要求。

DSP实现可以采用硬件方法,如使用专用的FPGA或ASIC实现滤波器的计算单元;也可以采用软件方法,在DSP芯片上运行相应的滤波算法代码。

对于较复杂的滤波器设计,可以使用专门的滤波器设计软件进行设计和实现。

综上所述,FIR滤波器的设计和实现是数字信号处理中的重要内容,不同的设计方法和实现方式可以根据具体需求选择。

设计一个合适的FIR 滤波器可以满足信号处理的要求,并且在DSP实现中能够提高系统的运算效率和性能。

DSP原理与应用实验5-FIR滤波器

DSP原理与应用实验5-FIR滤波器

课程名称DSP原理与应用实验序号实验5实验项目FIR滤波器实验地点实验学时实验类型指导教师实验员专业班级学号姓名年月日成绩:一、实验目的及要求1、掌握数字滤波器的设计过程;2、了解FIR 的原理和特性;3、熟悉设计FIR 数字滤波器的原理和方法。

4、对带有噪声的不同输入信号(正弦波、三角波)进行FIR 滤波,观看滤掉噪声后的波形。

二、实验原理与内容1、有限冲击响应数字滤波器( FIR)FIR 数字滤波器是一种非递归系统,其冲激响应h(n)是有限长序列,其差分方程表达式为:N 为FIR 滤波器的阶数。

在数字信号处理应用中往往需要设计线性相位的滤波器,FIR 滤波器在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性。

为了使滤波器满足线性相位条件,要求其单位脉冲响应h(n)为实序列,且满足偶对称或奇对称条件,即h(n)=h(N-1-n)或h(n)=-h(N-1-n)。

这样,当N 为偶数时,偶对称线性相位FIR 滤波器的差分方程表达式为由上可见,FIR 滤波器不断地对输入样本x(n)延时后,再做乘法累加算法,将滤波器结果y(n) 输出。

因此,FIR 实际上是一种乘法累加运算。

而对于线性相位FIR 而言,利用线性相位FIR 滤波器系数的对称特性,可以采用结构精简的FIR 结构将乘法器数目减少一半。

2、本实验中FIR 的算法公式三、实验软硬件环境SEED—DTK67实验箱,CCS软件,接口线Filter 实验,包含文件1. FIR_Filter.c:音频芯片各控制寄存器的初始化,采样程序,FIR_Filter 子程序。

2. FIR_function.c :滤波算法实现程序。

3. main.c: 实验的主程序,包含了系统初始化.4. linker.cmd:声明了系统的存储器配置与程序各段的连接关系。

5. DEC6437.gel:系统初始化程序四、实验过程(实验步骤、记录、数据、分析)1. 将DSP 仿真器与计算机连接好;2. 将DSP 仿真器的JTAG 插头与SEED-DEC6437 单元的J9 相连接;3. 打开SEED-DTK6437 的电源。

FIR 数字滤波器(DSP实验报告)

FIR 数字滤波器(DSP实验报告)

FIR 数字滤波器一、实验目的数字滤波的作用是滤除信号中某一部分频率分量。

信号经过滤波处理,就相当于信号频谱与滤波器的频率响应相乘的结果。

从时域来看,就是输入信号与滤波器的冲激响应作卷积和。

数字滤波器在各种领域由广泛的应用,例如数字音响、音乐和语音合成、躁声消除、数据压缩、频率合成、谐波消除、过载检测、相关检测等。

本实验主要学习数字滤波器的DSP 实现原理和C54X 编程技巧,并通过CCS 的图形显示工具观察输入/输出信号波形以及频谱的变化。

该实验应该安排在串口和定时器操作实验之后进行。

二、实验原理1) FIR滤波器的实现如果FIR 滤波器的冲激响应为h(0),h(1),...,h(N-1)。

X(n)表示滤波器在n 时刻的输入,则n时刻的输出为:y(n) = h(0)x(n) + h(1)x(n-1)+ ... + h(N-1)x[n-(N-1)]使用MAC或FIRS指令可以方便地实现上面的计算。

使用带MAC 指令的循环寻址模式实现FIR 滤波器,程序片段如下:(输入数据在AL 中,滤波结果在AH中)STM #1,AR0 ;AR0=1STM #N,BK ;BK=N,循环寻址BUFFER 大小为N STL A,*FIR_DATA_P+% ;更新滤波窗口中的采样数据RPTZ A,#(N-1) ;重复MAC指令N次,先将A清零MAC *FIR_DATA_P+0%,*FIR_COFF_P+0%,A ;完成滤波计算。

注意FIR滤波系数存放在;数据存储区另一种方法是利用C54x 系列芯片的提供的FIRS 指令来实现FIR 滤波器。

为一种有限单位冲激响应呈现对中心点对称的FIR 滤波器。

长度为N的线性相位FIR,使用带FIRS 指令的循环寻址模式实现FIR 滤波器,程序片段如下:(输入数据在AL 中,滤波结果在B 中) STM #1,AR0 ;AR0=1STM #(N/2),BK ;BK=N/2,循环寻址BUFFER大小为NMVDD *ar2, *ar3 ;更新Buffer2STL A, *ar2+% ;更新滤波窗口中的采样数据ADD *ar2+0% , *ar3+0% ;初始化ARPTZ B, #(N/2-1) ;重复FIRS指令N/2次,先将B清零FIRS *ar2+0%, *ar3+0%,filter_coff+N/2 ;完成滤波计算。

通用DSP实现FIR滤波器实验报告

通用DSP实现FIR滤波器实验报告

N -1一、试验目的:1、了解 FIR 滤波器的 DSP 实现方法;2、了解用 FIR 滤波器实现模拟信号滤波的全过程;3、把握 FIR 滤波器直接型构造的实现方法。

二、试验原理:FIR 滤波器是有限长单位脉冲响应数字滤波器,其系统函数一般式为:H (z ) = ∑ h (n )z - nn =0FIR 滤波器的通用 DSP 实现法与前面介绍的 IIR 滤波器构造的实现方法类似, 用 FIR 滤波器对模拟信进展滤波的构造图所示。

数字滤波器对模拟信号滤波的原理图本试验中在以通用DSP(TMS320)为核心的DSP 平台上承受窗函数设计法分别设计了 50 阶的高通、低通、带通 FIR 滤波器,其幅频特性分别如以下图形所示:50)B d (ed u t i n ga M 0 -50 -100-1501000 2023 3000 4000 5000 6000 7000 8000 9000 10000Frequency (Hz))s e r g e d ( e s a h P-500 -1000 -1500-20231000 2023 3000 4000 5000 6000 7000 8000 9000 10000Frequency (Hz)输入 保护滤波器输出A/D FIR 滤波器 D/A低通滤波器的频响特性)s e es no ps eRe dut i nga M1.510.510000 1000 2023 3000 4000 5000 6000 7000 8000Hertz9000 10000r g e d( e s a h P -1000-2023-3000-40000 1000 2023 3000 4000 5000 6000 7000 8000Hertz9000 10000es no ps eRe dut i nga Ms)1.510.50 1000 2023 3000 4000 5000 6000 7000 8000Hertz9000 10000e r ged(e sa hP-500-1000-15000 1000 2023 3000 4000 5000 6000 7000 8000Hertz9000 10000高通滤波器的频响特性带通滤波器的频响特性试验板信号源Input1GndGndOut3示波器试验名称:通用DSP 实现FIR 滤波器姓名:刘宇〔〕同组人:石龄佳〔〕三.试验原理图:图2-5 试验原理图四.试验仪器稳压电源一台,双踪示波器一台, 信号源一台,试验板一块五、试验内容及步骤:1、按试验连接图检查连线是否正确,然后依次翻开信号源﹑示波器﹑试验装置的电源开关。

实验三FIR滤波器的DSP实验报告

实验三FIR滤波器的DSP实验报告

实验三FIR滤波器的DSP实验报告实验目的:1.掌握FIR滤波器的基本原理和结构;2.了解DSP芯片的基本使用方法;3.熟悉MATLAB的使用,实现FIR滤波器的设计和仿真。

实验器材:1.TMS320C6748DSP开发板;2.电脑;3.MATLAB软件。

实验原理:FIR滤波器是数字信号处理中常用的一种滤波器,其基本原理是利用线性相位特性实现对信号频谱的选择性抑制。

FIR滤波器的结构简单,稳定性好,并且可以实现任意的频率响应,因此被广泛应用于音频处理、图像处理等领域。

FIR滤波器的结构由延时单元、加法器和乘法器组成。

延时单元用于存储输入信号的过去值,加法器用于将输入信号和延时单元中的值相加,乘法器用于对加法器的输出进行加权求和。

根据加权系数的不同,可以实现不同的滤波特性。

在本实验中,我们使用MATLAB软件进行FIR滤波器的设计和仿真。

首先,通过指定滤波器的截止频率、通带和阻带的最大衰减等参数,使用MATLAB中的fir1函数进行滤波器的设计。

接下来,将得到的滤波器系数保存为C语言代码,通过DSP开发板进行实时滤波处理。

实验步骤:1. 在MATLAB中打开fir1函数进行滤波器设计。

根据实际需求,指定滤波器的截止频率、通带和阻带的最大衰减等参数。

通过运行代码,得到滤波器的系数。

2.将得到的滤波器系数保存为C语言代码,包括头文件和滤波函数。

7.运行程序,在DSP开发板上实时进行滤波处理,并将输出结果通过耳机进行播放。

实验结果:通过上述实验步骤,我们成功地实现了一个FIR滤波器的设计和DSP 实时处理。

通过调整滤波器参数和监听输出结果,我们观察到不同滤波器参数下得到的滤波效果不同。

通过对比实时输入信号和输出信号,我们可以清晰地看到滤波器对于输入信号频谱的选择性抑制。

实验总结:本次实验通过设计和实现FIR滤波器,加深了我们对滤波器原理和DSP芯片的理解。

通过MATLAB软件的辅助,我们可以直观地观察到滤波器在频率域的作用,对于滤波器的选择和优化提供了方便。

dsp实验报告 fir实验

dsp实验报告 fir实验

dsp实验报告 fir实验
DSP实验报告 FIR实验
一、实验目的
本实验旨在通过设计一种FIR滤波器,加深对数字信号处理中FIR滤波器的理解,并掌握FIR滤波器的设计方法和实现过程。

二、实验原理
FIR滤波器是一种常见的数字滤波器,其特点是无需考虑系统的稳定性问题,且具有线性相位特性。

FIR滤波器的传递函数为:
H(z) = b0 + b1z^(-1) + b2z^(-2) + ... + bMz^(-M)
其中,b0、b1、b2...bM为滤波器的系数。

FIR滤波器的设计主要包括窗函数法、频率采样法和最优化法等。

三、实验步骤
1. 确定滤波器的通带截止频率和阻带截止频率;
2. 根据通带截止频率和阻带截止频率选择合适的窗函数;
3. 计算窗函数的系数;
4. 将窗函数的系数作为FIR滤波器的系数;
5. 利用MATLAB或其他数学软件进行FIR滤波器的模拟实现;
6. 对设计的FIR滤波器进行性能评估,包括幅频特性、相频特性、群延迟等。

四、实验结果
经过实验设计和模拟实现,得到了满足要求的FIR滤波器。

通过对滤波器的性
能评估,得到了其幅频特性、相频特性和群延迟等性能指标。

实验结果表明,
设计的FIR滤波器具有良好的滤波效果,能够满足通带截止频率和阻带截止频
率的要求。

五、实验总结
通过本次实验,加深了对FIR滤波器的理解,掌握了FIR滤波器的设计方法和实现过程。

同时,也了解了数字信号处理中滤波器的重要性,以及如何根据实际需求设计出满足要求的滤波器。

希望通过本次实验,能够对数字信号处理的相关知识有更深入的了解和掌握。

基于DSP的FIR滤波器设计

基于DSP的FIR滤波器设计

《DSP原理与技术》实验报告姓名:XXX学号:XXXX院系:航天学院控制科学与工程系指导老师:XXX2011年5月25日1 FIR 滤波器的设计与DSP 实现1.1 FIR 滤波器的理论基础FIR 滤波器即有限长冲击响应滤波器的单位冲击响应()h n 是有限长的(01n N ≤≤-),其Z 变换为1()()N n n H z h n z --==∑在有限Z 平面(0z ∞ )内有(1N -)个零点,在Z 平面的原点0z =处有(1N -)阶极点。

()h n 的频率响应()j H e ω为10()()N j j n n H e h n e ωω--==∑当单位冲击响应序列()h n 为实序列时,()j H e ω表示成()()()j j H e H e ωθωω=当具有线性相位即()θωτω=-或()θωβτω=-当满足条件()θωτω=-可得出12N τ-=()(1)h n h N n =--上式即为FIR 滤波器具有线性相位条件的充要条件,它要求单位冲击响应序列()h n 是以12N n -=为对称中心的偶对称序列。

当满足条件()θωβτω=-可得出 2πβ=±12N τ-=()(1)h n h N n =---此时要求单位冲击响应序列()h n 是以12N n -=为对称中心的奇对称序列。

鉴于工程实际应用,具有线性相位的FIR 滤波器具有更加广阔的应用。

对于非线性相位的FIR 滤波器,一般可以用IIR 滤波器来代替。

同样幅度特性,IIR 滤波器所需阶数比FIR 滤波器所需阶数少得多。

1.2 FIR 滤波器的设计常见的FIR 滤波器设计方法包括窗函数设计法和频率采样设计法。

这里讨论用窗函数设计方法设计数字低通滤波器。

理想的数字低通滤波器的频率响应如图1.2.1所示。

根据傅立叶逆变换,由图1.2.1可得其单位脉冲响应()h n 为0()sin()0cc n h n n n nππΩ⎧=⎪⎪=⎨Ω⎪≠⎪⎩ 此时()h n 是一个无限长的偶对称序列。

DSP课程设计-FIR滤波器设计

DSP课程设计-FIR滤波器设计

DSP课程设计报告题目:FIR滤波器设计学院:电气信息学院专业:通信工程姓名:学号:指导老师:曹玉英一、设计目标设计一个FIR高通滤波器,通带边界频率为2khz,通带纹波小于1dB,采样频率为8khz,实现当多个频率的输入信号输入时只保留大于2khz的信号功能,其中FIR滤波器的设计可以用MATLAB窗函数法进行。

二、算法研究1. FIR的原理和参数生成公式FIR数字滤波器是非递归性的线性时不变因果系统,这样的系统的差分方程可以表示为:令输入信号x(n)=δ(n),代入式,有=aδ(n)+a1δ(n-1)+···+an-1δ[n-(N-1)]这时的y(n)即为冲激响应h(n)。

由式很容易得到h(0)=a,h(1)=a1, ···,h(N-1)=an-1;又由式可知,当n<0以及n>N-1时,h(n)=0,即这个系统的冲激响应是有限长度的,这样的滤波器就叫做有限冲激响应(FIR)滤波器。

将ai=h(i)(i=0,1, ···,N-1)代入式,得到将式的两边进行z变换后,可以得到FIR滤波器的系统函数:又由式,有因此,FIR滤波器的系统函数H(z)的极点都位于z=0处,为N-1阶极点;而N-1个零点由冲激响应h(n)决定,一般来说,可以位于有限z平面的任何位置。

由于FIR数字滤波器的极点都集中在单位圆内的原点z=0处,与系数h(n)无关,因此FIR滤波器总是稳定的,这是FIR数字系统的一大优点。

2. 利用MATLAB计算滤波系数用来设计标准频率响应的基于窗函数的FIR滤波器,可实现加窗线性相位FIR数字滤波器的设计。

语法:b=fir1(n,Wn)b=fir1(n,Wn,‘ftype’)b=fir1(n,Wn,Window)b=fir1(n,Wn,‘ftype’,window)n:滤波器的阶数;Wn:滤波器的截止频率;ftype:用来决定滤波器的类型,当ftype=high时,可设计高通滤波器;当ftype=stop时,可设计带阻滤波器;Window:用来指定滤波器采用的窗函数类型,其默认值为汉明窗。

DSP课程设计报告FIR滤波器的设计

DSP课程设计报告FIR滤波器的设计

DSP课程设计报告FIR滤波器的设计本科课程设计报告课程名称:DSP原理及应⽤设计项⽬:FIR滤波器的设计实验地点:多学科楼机房专业班级:学号:学⽣姓名:指导教师:2012年1⽉8⽇⼀、设计⽬的:1、掌握数字滤波器的设计过程;2、了解FIR的原理和特性;3、熟悉设计FIR数字滤波器的原理和⽅法;4、学习FIR滤波器的DSP的实现原理;5、学习使⽤CCS的波形观察窗⼝观察输⼊/输出信号波形和频谱变化情况。

⼆、设计内容:1、通过MATLAB来设计⼀个低通滤波器,对它进⾏模拟仿真确定FIR滤波器系数;2、⽤DSP汇编语⾔进⾏编程,实现FIR运算,对产⽣的合成信号,滤除信号中⾼频成分,观察滤波前后波形的变化。

三、设计原理:FIR数字滤波器是⼀种⾮递归系统,其传递函数为:H(z)=Y(z)/X(z)=∑b(n)z-n由此可得到系统的差分⽅程为:y(n)=∑h(i)x(n-i),其冲击响应h(n)是有限长序列,它其实就是滤波器系数向量b(n),N为FIR滤波器的阶数。

为了使滤波器满⾜线性相位条件,要求其单位脉冲响应h(n)为实序列,且满⾜偶对称或奇对称条件,即h(n)=h(N-1-n)或h(n)=-h(N-1-n)这样,当N为偶数时,偶对称线性相位FIR滤波器的差分⽅程表达式为:y(n)=∑h(i)x(n-i)+x((N-1-n-i)应⽤MATLAB设计FIR滤波器的主要任务就是根据给定的性能指标设计⼀个H(z),使其逼近这⼀指标,进⽽计算并确定滤波器的系数b(n),再将所设计滤波器的幅频响应、相频响应曲线作为输出,与设计要求进⾏⽐较,对设计的滤波器进⾏优化,设计完成之后将得到FIR滤波器的单位冲击响应序列h(n)的各个参数值。

matlab⽤fir1函数设计FIR滤波器:fir1函数⽤来设计标准频率响应的基于窗函数的FIR滤波器,可实现加窗线性相位FIR数字滤波器的设计。

具体语法如下:b=fir1(n,Wn)b=fir1(n,Wn,‘ftype’)b=fir1(n,Wn,Window)b=fir1(n,Wn,‘ftype’,Window)其中n为滤波器的阶数;Wn为滤波器的截⽌频率;ftype为⽤来决定滤波器的类型,当ftype=high时,可设计⾼通滤波器;当ftype=stop时,可设计带阻滤波器。

DSP课程设计FIR滤波器设计

DSP课程设计FIR滤波器设计

D S P课程设计学院:专业年级:姓名:学号:课题: FIR滤波器设计指导老师:日期:2016年7月2日一、设计目标功能描述:FIR 低通滤波器是滤除掉高于截至频率的信号,容许低于截止频率的信号通过的电子滤波装置,故称低通滤波器。

内容:1)设计FIR 低通滤波器2)使用CCS 的simulator 进行滤波特性测试参数:FIR 低通滤波器通带频率为5000Hz ,采样频率为20000Hz 。

二、算法研究数字滤波是将输入的信号序列,按规定的算法进行处理,从而得到所期望的输出序列,FIR 滤波器的差分方程为:∑-=-=10)()(N k k k n x a n y对上式进行Z 变换得到FIR 滤波器的传递函数为:()()()∑-=-==10N i k k z b z X z Y z H 由上式可以看出,H(z)是1-z 的N-1次多项式,它在z 平面内有N-1个零点,同时在原点处有N-1个重极点。

N 阶滤波器通常采用N 个延迟单元、N 个加法器与N+1个乘法器,取图中(a)、(b)两种结构。

图FIR滤波器的一般结构因为FIR滤波器的单位抽样响应是有限长的,所以它永远是稳定的。

另外,若对 h(n)提出一些约束条件,那么可以很容易地使 H(z)具有线性相位,这在信号处理的很多领域是非常重要的。

FIR滤波器的设计任务,是要决定一个转移函数H(z),使它的频率响应满足给定的要求。

这里所说的要求,除了通带频率ω、阻带频率及两个带上p的最大和最小衰减∂和s∂外,很重要的一条是保证H(z)具有线性相位。

p三、相应参数的计算1、FIR滤波器的MATLAB实现MATLAB是一种功能强、效率高、便于进行科学和工程计算的交互式软件包,它集数值分析、矩阵运算、信号处理和图形显示于一体,为用户提供了方便、友好的界面环境。

MATLAB中的工具箱(Toolbox)包含了许多实用程序。

它提供了多种FIR滤波器设计方法。

用fir1函数设计FIR滤波器fir1函数用来设计标准频率响应的基于窗函数的FIR滤波器,可实现加窗线性相位FIR数字滤波器的设计。

DSP系统实验_FIR滤波器

DSP系统实验_FIR滤波器

四.实验过程及结果1.使用Matlab中的Fdatool设计滤波器,设计一个采样频率为20000Hz,截止频率fL=1000Hz,fH=4000Hz的FIR 带通滤波器。

(1)在Matlab的Start菜单中选择Toolboxes -> FilterDesign -> Filter Design & Analysis Tools(fdatool),或者在命令行中输入fdatool来启动滤波器设计分析器。

启动成功后界面如下图所示。

(2)在选项中选择或输入滤波器参数,然后点击“Design Filter”按钮,完成滤波器的设计。

具体参数及设计成功后的结果如下图所示。

(3)从Matlab中导出FIR滤波器系数。

在Fdatool 中,选择Targets -> Code Composer Studio (tm) IDE。

在出现的对话框中选择输出文件类型为C header file,输出系数类型为signed 16-bit integer,如下图所示。

点击Generate按钮,选择路径,即可输出前一步设计出的FIR滤波器的系数表。

(假设生成的系数表文件为fdacoefs.h,此头文件中数组B中的数据就是滤波器系数)导出十进制的系数列表,如下图所示。

最终生成.fcf文件,为下一步的Matlab 仿真所使用。

2.利用Matlab产生噪声信号用于滤波器测试,并进行仿真将下面代码另存为M 文件,在Matlab 中运行后将会生成input.dat 文件。

该数据文件中含有500Hz、3000Hz、8000Hz 三种频率的信号,用于滤波器滤波效果测试。

用Matlab进行仿真分别如下所示。

最后运行程序后会产生一个input.dat 文件,这个文件将会在后面的CCS中被用到。

代码如下所示:11=500; %/Hzf12=3000; %/Hzf13=8000; %/Hzfs=20000; %/ 采样 HzN=200 %数据个T=1/fs; % 采样周期n= 0:N;x11=sin(2*pi*f11*n*T);x12=0.7*sin(2*pi*f12*n*T);x13=0.5*sin(2*pi*f13*n*T);x_base=(x11+x12+x13);figure(1)subplot(211)plot(x_base) ; %待滤波信号形title( '待滤波信号形');Subplot(212)yff=abs(fft(x_base));df=(1:N/2)*(fs/N);plot(df,yff(1:N/2)); %待%将 1.3 中 d. 步骤生成的文件中系数复制,并赋值给 b b=[ 0.0015488099260604208-0.000639162226711395180.00000276175440328235950.0049050931002711240.0124676214730609050.013823224770750035-0.00026535232996076602-0.027038289777890162-0.04744269065963877-0.0393776956774877780.000131327872218974470.0462401856615866150.0644421182359068280.041726101066870809-0.00021601367549392082-0.025586149487005817-0.019584633178667085-0.00128851056756914320.0000036241074212133984-0.021008366929296321-0.039658785664257422-0.030892497493987696-0.0000577033839905187980.022210135405908792-0.0018716902153898345 -0.000064100972310515318 0.029127795779719676 0.054818958402419453 0.042884583593487118 -0.00003996438375069266 -0.029259239394713532 -0.014935307528602806 0.015078402779768362 -0.000043450394824481051 -0.079516267912042804 -0.15948637498492943 -0.14273465660088808 -0.000047883173032453426 0.18167944030096761 0.26439813485415459 0.18167944030096761 -0.000047883173032453426 -0.14273465660088808 -0.15948637498492943 -0.079516267912042804 -0.000043450394824481051 0.015078402779768362 -0.014935307528602806 -0.029259239394713532 -0.00003996438375069266 0.042884583593487118 0.054818958402419453 0.029127795779719676 -0.000064100972310515318 -0.0018716902153898345 0.016335005170358768 0.022210135405908792 -0.000057703383990518798 -0.030892497493987696 -0.039658785664257422 -0.021008366929296321 0.0000036241074212133984 -0.0012885105675691432 -0.019584633178667085 -0.025586149487005817 -0.00021601367549392082 0.0417261010668708090.0462401856615866150.00013132787221897447-0.039377695677487778-0.04744269065963877-0.027038289777890162-0.000265352329960766020.0138232247707500350.0124676214730609050.0049050931002711240.0000027617544032823595-0.000639162226711395180.0015488099260604208 ];figure(2);subplot(211);xf=filter(b,1,x_base); %滤波plot(xf); % 滤波之后的信号title( '滤波之后信号形' );yfff=abs(fft(xf));df=(1:N/2)*(fs/N);Subplot(212);plot(df,yfff(1:N/2)); % 滤波之后的信号频谱title ('滤波之后的信号频谱' );%生成 input.data 文件xout=x_base/max(x_base); % 归一化xto_ccs=round(32767*xout);fid=fopen('input.dat','w'); % 打开文件fprintf(fid,'1651 1 0 \n'); % 输出文件头fprintf(fid,'%d \n',xto_ccs);% 输出fclose(fid);仿真结果如下所示:3.在CCS中编写FIR滤波器程序(1)新建一个工程,编写C语言源代码并添加到工程中,代码如下所示:(2)添加cmd文件到工程中(3)分别将"tmwtypes.h","fdacoefs.h ",rst.lib,input.dat文件添加到工程中,最后进行编译链接,成功后则可以在工程所在目录下看到一个Debug文件夹下产生.out文件。

实验三 FIR滤波器的DSP实验报告

实验三  FIR滤波器的DSP实验报告

实验三FIR滤波器的DSP实验报告一、实验目的1. 了解MATLAB的FIR滤波器设计方法与编程;2. 掌握FIR滤波器算法基本原理和C语言的编程方法;二、实验内容FIR滤波器设计流程为,根据给出的滤波器设计(通带带宽、阻带衰减、相位要求)要求,在Matlab环境下仿真得到滤波器系数,得到了滤波器系数后在CCS下编程设计DSP 的FIR滤波器。

1.使用Matlab中的FDAtool设计FIR滤波器设计实现fir低通滤波器,阶数为20,采样频率fs=8000Hz,截止频率fc=1500Hz,窗口设置为汉明窗Hamming。

经过的信号频率是1000HZ和2000HZ的混叠波。

2.参阅FIR基本理论及C语言编程方法,研读、分析实验指导书中的代码;3. 双击,启动CCS的配置程序选项,选择“C5502 Simulator”;4. 启动CCS,打开实验工程文件,再编译并装载程序;5. 仿真波形A.输入信号波形B.输入信号频C输出信号波形D 输出信号频谱从输入信号和输出信号的频谱对比中可以看出,输出信号有1KHZ 和2KHZ 的混叠信号。

经过FIR 低通录波器后,滤掉了2KHZ 的频谱。

只剩下1KHZ 的频谱。

4.修改代码:滤波器设计要求:线性相位低通滤波器,模拟信号通带为0~1kHz ,阻带衰减在5kHz 处为-60dB 。

采样率为20kHz 。

采用凯塞窗口设计此低通滤波器,设计过程如下:通带边界频率为1KHZ ,阻带边界频率是5KHZ 有60dB 的衰减,可得:rad rad s p 22052,102012ππωππω====过渡带πωωω52=-=∆p s ,A=60dB 设计凯塞窗口的长度N 和参数β分别为:29285.28=∆-≈ωA N65326.5)7.8(1102.0=-=a β使用MA TLAB 设计此滤波器,过程如下:1)在Matlab 的Start 菜单中选择Toolboxes -> Filter Design -> Filter Design & AnalysisTools(fdatool),或者在命令行中输入fdatool 来启动滤波器设计分析器。

DSP课程设计报告(FIR滤波器的DSP实现)

DSP课程设计报告(FIR滤波器的DSP实现)

课程设计任务书题目FIR滤波器的DSP实现专业、班级学号姓名主要内容、基本要求、主要参考文献等:1、主要内容(1) 了解FIR滤波器的原理及使用方法(2) 了解使用MATLAB语言设计FIR滤波器的方法(3) 了解FIR滤波器的DSP设计及实现方法(4) 熟悉数字信号处理过程。

2、基本要求(1) 录制一段音频信号,用实现FIR实现滤波过程。

(2) 在CCS中编写程序,实现(1)中设计的滤波器。

3、主要参考文献(1)高海林,钱满义。

DSP技术及其应用。

清华大学出版社,北京交通大学出版社。

2009(2)张雄伟,曹铁勇,陈亮,杨吉斌等。

DSP芯片的原理与开发应用(第4版)。

电子工业出版社,2009(3)陈金鹰。

DSP技术及应用。

机械工业出版社,2004完成期限:年月日指导教师签名:课程负责人签名:目录目录 (I)第一章设计的内容及要求 (1)第一节、设计题目 (1)第二节、设计目的 (1)第三节、设计设备 (1)第四节、实验内容 (1)第二章设计基本原理 (2)第三章FIR滤波器的MATALAB的设计 (2)第一节、语音信号的时域图、频域图的输出 (3)第二节、启动滤波器设计分析器 (3)第三节、滤波器设计 (4)第四节、导出FIR滤波器系数。

(4)第四章滤波器的DSP实现 (5)第一节、数据的载入 (6)第二节、信号的输出 (6)第五章滤波后语音信号的读取 (8)第六章设计总结 (8)参考文献 (9)附录 (9)第一章设计的内容及要求第一节、设计题目FIR滤波器的DSP实现第二节、设计目的1.熟悉数字滤波的基本原理和实现方法;2.熟悉FIR数字滤波器的设计方法;3.熟悉FIR滤波器的DSP实现方法。

第三节、设计设备计算机;DSP硬件仿真器;SZ-DSPF开发教学平台。

第四节、实验内容实验的基本流程:X(t)为自己录制的一段音频信号(语音或者音乐),模数转换过程即为将模拟信号转换成数字信号的过程,数字信号处理器完成FIR滤波器的功能,滤波器的系数由MATLB设计实现。

FIR滤波器的设计及DSP实现

FIR滤波器的设计及DSP实现

FIR 滤波器的设计及DSP 实现刘利群1,韩震宇1,李绍卓2(1.四川大学机械电子工程研究所 四川成都 610065;2.第二炮兵装备研究院 北京 100085)摘 要:为保证立体声数字调频广播发射机系统能不失真传送语音信号,系统采用具有严格线性相位的FIR 滤波器。

通过对比几种常见FIR 滤波器设计方法,选择了适合自己系统的最佳滤波器设计方法。

并使用Matlab 信号处理工具箱进行快速有效的设计。

详细地介绍了该设计结果在本系统所用DSP 芯片(TMS3205509)上的应用。

该滤波器能够满足系统实时性和不失真要求。

关键词:FIR 滤波器;Matlab ;TMS3205509;循环寻址中图分类号:TN713+.1 文献标识码:B 文章编号:10042373X (2007)222038203FIR Filter Design and DSP ImplementL IU Liqun 1,HAN Zhenyu 1,L I Shaozhuo 2(1.Graduate School of Mechatronic Engineering ,Sichuan University ,Chengdu ,610065,China ;2.The Second Artillery Equipment Research Institute ,Beijing ,100085,China )Abstract :In order to make sure the signals that come through digital FM exciter is not been distorted ,the system adopts FIR filter ,which has perfectly linear phase characteristics.This paper present advantages of equiripple filter design overother common FIR filters design ,which is used by our system.Also ,designs a high performance filter by using Matlab signal pro 2cessing tools.At the same time ,detailed the implement of the filter on TMS3205509.This design can meet the demands of real 2time and no distortion.K eywords :FIR filter ;Matlab ;TMS3205509;circular addressing收稿日期:2007205216 立体声数字调频广播发射机系统所要处理的信号是音频信号。

FIR数字滤波器设计实验_完整版

FIR数字滤波器设计实验_完整版

FIR数字滤波器设计实验_完整版FIR数字滤波器设计实验是一种以FIR(Finite Impulse Response)数字滤波器为主题的实验。

在这个实验中,我们将学习如何设计和实现一个FIR数字滤波器,以滤除特定频率范围内的噪声、增强信号或实现其他特定的信号处理功能。

以下是一个可能的FIR数字滤波器设计实验的完整版实验步骤和要求:实验目的:1.学习FIR数字滤波器的基本原理和设计方法。

2. 熟悉Matlab等数字信号处理软件的使用。

3.实践设计和实现一个FIR数字滤波器,以实现特定的信号处理功能。

实验步骤:1.确定实验所需的信号处理功能。

例如,设计一个低通滤波器以滤除高频噪声,或设计一个带通滤波器以增强特定频率范围内的信号。

2.确定数字滤波器的规格。

包括截止频率、滤波器阶数、滤波器类型(低通、高通、带通、带阻)等。

3. 使用Matlab等数字信号处理软件进行设计和仿真。

根据信号处理功能和滤波器规格,选择合适的设计方法(如窗函数法、频率采样法等),并设计出数字滤波器的系数。

4.对设计的数字滤波器进行性能评估。

通过模拟信号输入和滤波输出、频率响应曲线等方式,评估滤波器在实现信号处理功能方面的性能。

5.利用硬件平台(如DSP处理器、FPGA等)实现设计的FIR数字滤波器。

根据设计的滤波器系数,编程实现滤波器算法,并进行实时信号处理和输出。

同时,可以利用外部信号源输入不同类型的信号,进行滤波效果验证和性能测试。

6.对滤波器设计和实现进行综合分析。

根据实际效果和性能测试结果,分析滤波器设计中的优缺点,并提出改进方案。

实验要求:1.理解FIR数字滤波器的基本原理和设计方法。

2. 掌握Matlab等数字信号处理软件的使用。

3.能够根据信号处理要求和滤波器规格,选择合适的设计方法并设计出满足要求的滤波器。

4.能够通过模拟和实验验证滤波器的性能。

5.具备对滤波器设计和实现进行综合分析和改进的能力。

通过完成上述实验,学生可以深入理解FIR数字滤波器的原理和设计方法,掌握数字信号处理软件的使用,提升数字信号处理的实践能力,并了解数字滤波器在实际应用中的重要性和价值。

dsp实验报告-有限脉冲响应滤波器(FIR)实验

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)。

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

1. 代码被修改的部分: #define S2_Freq 160 // 信号 2 频率 void init_fft_tab(void) //输入波形的初始化
{ float wt1; float wt2; inti; for (i=0;i<Sample_Numb;i++) { wt1=2*pi*i*S1_Freq; wt1=wt1/SampleFreq; wt2=2*pi*i*S2_Freq; wt2=wt2/SampleFreq; //此处实现 60Hz 和 160Hz 两个信号相乘。 SignalInput[i]=cos(wt1)*cos(wt2)*100; //SignalInput[i]=(cos(wt1)+cos(wt2))/2*100; } } 由时域相乘频域卷积可以知道 60Hz 和 160Hz 的余弦信号相乘将得到有 100Hz 和 220Hz 频率分量的信号。 2. CCS 仿真图形如下: A、时域信号波形为(图形入口地址:SignalInput) :
b) 用 SPtool 验证所设计的滤波器的功能 在 FDATool 里设计了一个 FIR 低通滤波器后,可以用 SPTool 来分析所设计的滤波器是否 实现了功能与 FDATool 一样。SPTool 可以对信号进行时域与频域的分析。测试滤波器是否实 现功能的主要步骤: 在 MATLAB 环境下产生一个混叠波信号,在 MATLAB 命令窗口输入: Fs = 20000;
} void main() { int p=0; n=0; wavein(); for(n=0;n<N;n++ ) { p=0; s=0; while((p<order)&&(p<=n)) { s=fir[p]*input[n-p]+s; p++; } output[n]=s; } }
的频谱:
c)
输出波形的频谱:
一、 通过代码修改、仿真,理解定点运算和浮点运算相比的优缺点。 定点运算的优点是:效率高,硬件单元比较简单,适合在低成本或者一些高速的 DSP 上应用;缺点主要就是丢失了精度,并且计算过程容易溢出。 浮点运算的优点很明显,浮点数有更大的数字表示范围,数据运算时不容易产生溢出, 运算精度也比定点运算高;但是其缺点是运算复杂,硬件较复杂,带有浮点运算单元的 DSP 明显比定点 DSP 价格高,增加了成本。 二、 通过仿真波形的分析、理解滤波器阶数与滤波器延时以及滤波器的阻带衰减之间 的关系。 在利用窗函数设计的 FIR 滤波器中,用同一种窗函数设计的 FIR 数字滤波器的阶数 N 不 同,所得到的滤波器的过渡带会不一样,N 越大,过渡带越窄。滤波器的阻带衰减只有窗形 状决定,不受滤波器阶数的影响;但是滤波器的阶数太高,会导致过渡带很窄,暂态增加, 延时很长。 三、 实验程序: #include <math.h> #include <stdlib.h> #define order 14 #define N 128 #define pi 3.14159265358979323846 float fir[order] = {0,0.00254885266601421,0.0147553639227699, 0.0448623472097668,0.0949715275858371,0.152016225973152,0.19084568264246, 0.19084568264246,0.152016225973152,0.0949715275858371,0.0448623472097668, 0.0147553639227699,0.00254885266601421,0}; float s; inti,n; float input[N],output[N]; int fs=20000; int f1=1000; int f2=5000; voidwavein() { for(n=0;n<N;n++ ) input[n]= sin(2*pi*n*f2/fs)+sin(2*pi*n*f1/fs);
B、对应谱为(图形入口地址:SignalInput) :
C、FFT 输出结果(图形入口地址:FFT_W) :
分析采样率、FFT 点数与频谱分辨率之间的关系 由采样定理知:采样率 Fs 应当满足������ 。频率 ������ ≥ 2������ℎ (������ℎ 为信号的最高频率) 分辨率为:������0 = ������ ������ ������ = 1 ������������������ = 1 ������ (N 为 FFT 的点数,Ts 为采样间隔,NTs 就是采样前模拟信号的时间长度 T) , 可以得到信号长度越长, 频率分辨率越好。
实验内容:
一、 完成所给例程对应实验,验收结果如下: A、时域信号波形为(图形入口地址:SignalInput) :
B、对应谱为(图形入口地址:SignalInput) :
C、FFT 输出结果(图形入口地址:FFT_W) :
二、
修改代码为时域信号 60Hz 和 160Hz 两个信号相乘,分析其频谱,并说明理由。
FIR 滤波器的 DSP 设计
作业要求:
一、 修改代码:滤波器设计要求:线性相位低通滤波器,模拟信号通带为 0~1kHz,阻 带衰减在 5kHz 处为-60dB。采样率为 20kHz。 1. FIR 滤波器设计流程为,根据给出的滤波器设计(通带带宽、阻带衰减、相位要求)要 求, 在 matlab 环境下仿真得到滤波器系数, 得到了滤波器系数后在 CCS 下编程设计 DSP 的 FIR 滤波器。 a) 使用 matlab 中的 FDAtool 设计 FIR 滤波器 MATLAB 工具箱中的 FDATool 是通过指定滤波器的性能指标来快速设计数字滤波器, 它 是一种交互式工具,只要在 FDATool 工具里选择相应的滤波器设计方法,并填入需要的技术 指标,如通带阻带截止频率、阶数等,即可生成所需的滤波器。并可以在界面上可以看到幅 频相频、零极点分布等图形。 在本设计中:选择 fir 低通滤波器,阶数为 13,采样率为 20KHz,截止频率 fc=1KHz,窗 口设置为 Blackman 窗。
t = (0:500)/Fs; s = sin(2*pi*t*1000)+sin(2*pi*t*5000); subplot(1,1,1); plot(t, s); axis([0 0.005 -2 2]); grid
产生了 1000Hz 和 5000Hz 的混叠波,其波形显示图形为:
c)
在 FDATool 的界面里输出到 SPTool,然后在将导入 SPTool 的滤波器命名为 filter,点击
“Apply” ,这样,设计的滤波器就导入了 SPTool 中。在 SPtool 主界面里面,将输入信号 S,采样 频率 Fs 导入进去,并生成名为 output 的输出信号。通过点击该界面下的“view”可以得到输入 输出波形,点击“create”可以得到输出的频谱,这三个图形如下所示:
通过观察输入输出的波形图及频谱图验证所设计的滤波器的功能。 可以看出 5000HZ 的 频率分量被滤,所设计的滤波器实现了低通滤波功能。 2. 使用 CCS 编程实现 DSP 的 FIR 滤波 启动 CCS 软件,编写及修改程序,我们得到的仿真波形如下: a) 输入与输出波形:
四、
B、对应谱为(图形入口地址:SignalInput) :
由频谱图可以看出,60Hz 和 160Hz 相乘产生的信号的频率分量有 100Hz 和 220Hz。
C、FFT 输出结果(图形入口地址:FFT_W) :
三、 修改实验代码为 1024 点 FFT,进行程序的编译、运行和对应结果的查看。 1、代码被修改的部分(时域信号为 60Hz 和 180Hz 的两个波形相加) : #define Sample_Numb 1024 //设置 FFT 点数为 1024 点 voidfft(float datar[Sample_Numb],float datai[Sample_Numb]) { int x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,xx; inti,j,k,b,p,L; floatTR,TI,temp; //倒位序;由 1024 点可以得到顺序数可以由 10 位数表示,这里取 0-9; for(i=0;i<Sample_Numb;i++) { x0=x1=x2=x3=x4=x5=x6=x7=x8=0; x0=i&0x01;x1=(i/2)&0x01;x2=(i/4)&0x01;x3=(i/8)&0x01; x4=(i/16)&0x01;x5=(i/32)&0x01;x6=(i/64)&0x01;x7=(i/128)&0x01; x8=(i/256)&0x01;x9=(i/512)&0x01; xx=x0*512+x1*256+x2*128+x3*64+x4*32+x5*16+x6*8+x7*4+x8*2+x9; datai[xx]=datar[i]; } for(i=0;i<Sample_Numb;i++) { datar[i]=datai[i];datai[i]=0; } //10 级蝶形运算 for(L=1;L<=10;L++) { b=1;i=L-1; while(i>0) { b=b*2;i--; } for(j=0;j<=b-1;j++) {//
p=1;i=10-L; while(i>0) { p=p*2;i--;} p=p*j; for(k=j;k<1024;k=k+2*b) { TR=datar[k];TI=datai[k];temp=datar[k+b]; datar[k]=datar[k]+datar[k+b]*cos_tab[p]+datai[k+b]*sin_tab[p]; datai[k]=datai[k]-datar[k+b]*sin_tab[p]+datai[k+b]*cos_tab[p]; datar[k+b]=TR-datar[k+b]*cos_tab[p]-datai[k+b]*sin_tab[p]; datai[k+b]=TI+temp*sin_tab[p]-datai[k+b]*cos_tab[p]; } } } //计算 FFT 输出的功率 for(i=0;i<Sample_Numb/2;i++) { FFT_W[i]=sqrt(datar[i]*datar[i]+datai[i]*datai[i]); } } A、时域信号波形为(图形入口地址:SignalInput) :
相关文档
最新文档