(完整版)matlab中fdatool使用说明

合集下载

滤波器设计(fdatool+quartus)

滤波器设计(fdatool+quartus)

Fir滤波器设计
1、打开matlab,在matlab窗口输入fdatool,得到
在此窗口输入你要设计的滤波器的参数,如采样率fs,通带,滤波器形式,阶数
等,然后点击
2、点击工具栏目file->export得到
在export to下拉菜单,,点击Export,将文件重新命名,保存,注意名字不能有中文
3、此时matlab编辑窗口有所变化,将编辑窗口的前面文件和后面空白删除


保存
4、打开quartus,新建工程,点击tool里的Megawizard,
点击next
注意名字,语言类型,左边照样子选中,点击next得到
点击step 1
设置器件型号输入输出位宽,看看还有什么要设置的然后点击上端的第二个edit coe…
得到
将刚刚生成的fcf文件加载进去,点击ok
然后出现
点击finish
依次Step2,3,直接finish,然后就ok了。

fdatool iir参数 c语言

fdatool iir参数 c语言

fdatool iir参数 c语言fdatool是MATLAB中的一个工具,用于设计和分析数字滤波器。

在fdatool中,我们可以选择使用IIR(无限冲激响应)滤波器来实现我们的滤波需求。

本文将介绍如何在fdatool中使用C语言来实现IIR滤波器参数。

我们需要了解什么是IIR滤波器。

IIR滤波器是一种数字滤波器,其输出信号是过去输入信号的线性组合和过去输出信号的线性组合。

IIR滤波器的特点是具有无限长的冲激响应,因此可以更好地逼近现实世界中的信号。

在fdatool中,我们可以通过选择IIR滤波器类型和设置滤波器参数来设计我们的滤波器。

首先,我们需要选择滤波器类型,常见的IIR滤波器类型包括低通滤波器、高通滤波器、带通滤波器和带阻滤波器。

根据我们的信号处理需求,选择相应的滤波器类型。

然后,我们可以在fdatool中设置滤波器参数。

常见的滤波器参数包括截止频率、通带增益、阻带衰减等。

通过调整这些参数,我们可以得到满足我们需求的滤波器。

接下来,我们可以使用fdatool生成C语言代码。

在fdatool界面的右上角,有一个“Generate MATLAB code”按钮,点击该按钮后,可以选择生成C语言代码。

在弹出的对话框中,我们可以选择生成C语言代码的选项,例如生成C函数、生成C头文件等。

根据我们的需求选择相应的选项。

生成C语言代码后,我们可以将其导入到我们的C语言项目中。

在C语言项目中,我们可以调用生成的函数来实现滤波器功能。

根据生成的C代码,我们可以看到滤波器的相关参数和计算过程。

通过理解这些代码,我们可以更好地了解滤波器的工作原理和实现细节。

除了生成C语言代码,fdatool还提供了其他方便的功能,例如滤波器响应的可视化和性能分析。

通过这些功能,我们可以更好地理解和优化我们的滤波器设计。

总结起来,通过fdatool中的IIR滤波器参数的设置和生成C语言代码,我们可以方便地设计和实现满足我们需求的滤波器。

fdatool滤波器系数

fdatool滤波器系数

fdatool滤波器系数
fdatool滤波器系数是数字滤波器设计中的一个重要概念,在MATLAB中常常用到。

它是指数字滤波器的各个滤波器系数值所构成的一个数组。

在fdatool工具中设计数字滤波器时,可以通过调整滤波器的各项参数,如滤波器类型、截止频率、通带和阻带等参数,来生成所需的滤波器系数。

这些滤波器系数可以被用于数字信号处理中的滤波器实现,从而对待处理信号进行滤波处理,达到滤波器的滤波效果。

fdatool滤波器系数的应用范围广泛,涉及到音频处理、图像处理、数据处理等多个领域。

- 1 -。

(完整版)使用MATLAB设计ISE中FIR滤波器系数方法总结

(完整版)使用MATLAB设计ISE中FIR滤波器系数方法总结

使用MATLAB设计ISE中FIR滤波器系数的方法
1、打开MATLAB,在命令行窗口输入“fdatool”,打开“Filter Designer & Analysis Tool”工具。

如下图所示:
2、由于FPGA中滤波器的系数需要为整数,因此需要在此处将系数设置为“Fixed -point”类型。

点击上图中红色方框内的按钮,在新出现的页面中将“Filter arithmetic”设置为“Fixed -point”。

设置完成后如下图所示:
3、点击上图中红色方框内的按钮,进入滤波器参数设置页面,在其中设置采样频率(Fs)、通带频率(Fpass)、阻带频率(Fstop)以及阻带衰减(Astop)等参数,并按最下面的“Design Filter”按钮生成滤波器系数。

如下图所示,采样频率为62MHz,通带频率为2MHz,阻带频率为4MHz,阻带衰减为-80dB。

4、然后导出coe文件,点击下图方框中的按钮即可导出coe文件:
5、在ISE中新建一个FIR滤波器IP核,在第一页设置中将“Select Source”改为“COE File”,然后在下面选择上一步生成的coe文件即可。

MATLAB滤波器设计与分析工具(FDATool)

MATLAB滤波器设计与分析工具(FDATool)
(3) 滤波器阶次 FIR 滤波器的阶次可以由用户指定,也可以选择最小滤波器阶次。
(4) 频率参数 频率参数设置包括频率单位、采样频率、带通频率、带阻频率等。其中采 样频率,带通频率,带阻频率可以由用户根据实际制定,而频率单位可以通过面板上的频率 单位下拉框进行选择,主要包括归一化频率(0-1)、Hz、kHz、MHz 和 GHz 五种选项。
(1) 响应类型 在滤波器设计与分析工具 FDATool 中 FIR 滤波器响应类型可以设置为低通、 高通、带阻、微分器、Hilbert 变换器、多带滤波器、任意幅度响应、升余弦、任意群延迟、 半带低通、半带高通、奈奎斯特、逆 sinc 低通或逆 sinc 高通滤波器。
(2) 设计方法 FIR 滤波器的设计方法可以选择为等波纹、最小均方、窗函数、最大扁平、最小 P 阶范 数或约束等波纹。
指定所有的设计指标后,单击 FDATool 最下面的 Design Filter 按钮即可完成滤波器设计。 (设计完成后 Design Filter 按钮变为不可用,除非再次修改了设计指标)。
7.5.2 滤波器设计
1.FIR 滤波器设计
FIR 滤波器设计时的参数设置主要包括响应类型、滤波器阶次、频率参数、幅度参数及 密度因子等其他选项。
(4) View 菜单
View 菜单包括的命令主要有指定滤波器名称,图形放大,全屏显示等。
3. FDATool 用户界面介绍
FDATool 的界面分上、下两个部分:上面部分显示有关滤波器的信息,下面部分用来指 定设计指标参数。
¾ 在 Response type 下可以选择滤波器类型,包括低通、高通、带通、带阻、微分器、 Hilbert 变换器、多带、任意频率响应、升余弦等(如果安装了滤波器设计工具箱, 则会有更多选项)。

滤波器设计分析工具FDATool和滤波器可视化工具FVTool

滤波器设计分析工具FDATool和滤波器可视化工具FVTool

讲座13滤波器设计分析工具FDATool和滤波器可视化工具FVTool13.1.简介FDATool(FilterDesignandAnalysisTool)是一个功能强大的数字滤波器分析设计工具。

它的主要功能如下:(1)设计参考滤波器所谓参考滤波器就是不考虑所有量化效应而采用双精度浮点数据格式、在通用计算机上实现的滤波器。

FDATool涵盖了信号处理工具箱中所有的滤波器设计方法。

利用它可以方便地设计出满足各种性能指标(或直接指定滤波器系数)的滤波器,并且可以查看该滤波器的各种分析图形(例如滤波器的模频特性、相频特性、群时延、令极点图等)。

待设计出满意的滤波器后,还可以将其系数直接导出为Matlab变量、文本文件或C语言头文件等。

(2)仿真和分析量化滤波器的性能参考滤波器是一种不考虑数据量化的理想滤波器。

实际滤波器则使用一定的量化器,把滤波器从双精度浮点格式转换为定点或变精度浮点格式。

这样的滤波器称为量化滤波器。

量化滤波器的频率特性往往与原来的滤波器不一致,有时甚至会使一个稳定的滤波器变得不稳定。

滤波器量化效应与滤波器的运算结构密切相关。

为了仿真和分析量化滤波器的性能,滤波器设计工具箱提供了一整套定义在量化对象基础上的量化函数。

图13.1.1示出量化对象的层次结构。

图13.1.1滤波器设计工具箱中的量化对象FVTool(FilterVisualTool)是附属于FDATool的工具。

可以在Matlab的工作区或在.M.文件调用这两种工具。

本讲座将介绍这两种调用方法。

本讲座只介绍用FDATool设计参考滤波器。

关于用FDATool 仿真和分析量化滤波器的问题,读者可参阅《Matlab6.5及其在数字信号处理中的应用》(王宏着,清华大学出版社,2004年)《数字信号处理原理、实现与应用》(高西全着,电子工业出版社,2006年)13.2FDATool的界面在Matlab的命令窗键入FDATtool命令,就可以进入滤波器仿真和分析环境,得到图13.2.1所示的界面。

matlab中FDAtool设计滤波器讲课教案

matlab中FDAtool设计滤波器讲课教案

mat l a b 中FDAt o o l 设计滤波器MATLAB中用FDATool设计滤波器及使用该文章讲述了MATLAB中用FDATool设计滤波器及使用1. 在Matlab 中键入fdatool 运行Filter Design and Analysis Tool 。

具体中的Signal Processing Toolbox->FDATool使用请参见Matlab Help2. 在fdatool工具中应该注意的几个问题:(a)Fstop (阻带截止频率)不能大于或等于采样频率Fs/2,这是由于数字滤波器设计的方式决定的。

(b)将设计好的滤波器导出,可以采用两种方式E xport the filter either as filtercoefficients variables or as a dfilt or mfilt filter object variable 。

(详细说明参见Matlab Help 中的Signal Processing Toolbox-> FDATool->Export ing a Filter Desig n 。

导出:File---Export 弹出EXPORT 对话框,选择“ Export As ”为“Objects ”,“ Varable Names ”可以更改,默认为Hd 。

3. (a)如果导出的是dfilt or mfilt filter object variable ,则可以用[b, a]=tf(Hd)将dfilt filter object 转换为转移函数形式,然后用d=filter(b,a,x); 使用这个滤波器。

其中:filter是默认函数,b、a是刚刚设计的传递函数参数,x 是原始采集信号,d为滤波后的信号。

x=importdata('E:\matlab_work\xy\bb\O6.txt');N=le ngth(x); % 取长度fs=4000; %采样频率t=(0:N-1)/fs;输出Hd ;[b,a]=tf(Hd);%得到传递函数d=filter(b,a,x); subplot(311); plot(t,x); title(' 原始信号'); xlabel('t');ylabel('y');grid on;基于fdatool 工具的数字滤波器的matlab 设计数字滤波器的matlab设计1.1 fdatool 界面设计1.1.1 fdatool 的介绍fdatool (filter design & analysis tool )是matlab 信号处理工具箱里专用的滤波器设计分析工具,matlab6.0以上的版本还专门增加了滤波器设计工具箱(filter design toolbox )。

matlab中fdatool使用说明

matlab中fdatool使用说明

基于MATLAB的滤波器设计由于MATLAB的广泛使用与功能的不断更新,基于MATLAB的滤波器设计方法以其方便快捷的特点,受到了设计者的欢迎。

下面将举例说明基于MATLAB的FIR滤波器的设计。

1 基于FDATool的FIR滤波器设计使用FDATool设计FIR滤波器的具体步骤如下:1、1 滤波器指标若需要设计一个16阶的FIR滤波器(h(0)=0),给定的参数如下:(1) 低通滤波器(2) 采样频率F S为48kHz,滤波器F C为10、8kHz(3) 输入序列位宽为9位(最高位为符号位)在此利用MATLAB来完成FIR滤波器系数的确定。

1、2 打开MATLAB的FDAToolMATLAB集成了一套功能强大的滤波器设计工具FDATool(Filter Design & Analysis Tool),可以完成多种滤波器的设计、分析与性能评估。

单击MATLAB主窗口下方的“Start”按钮,如图B、1所示,选择菜单“ToolBox”→“Filter Design”→“Filter Design & Analysis Tool(FDATool)”命令,打开FDATool,如图B、2所示。

图B、1 FDATool的启动图B、2 FDATool的主界面另外,在MATLAB主命令窗口内键入“fdatool”,同样可打开FDATool程序界面。

1、3 选择Design FilterFDATool界面左下侧排列了一组工具按钮,其功能分别如下所述:●滤波器转换(TransForm Filter)●设置量化参数(Set Quantization Parameters)●实现模型(Realize Model)●导入滤波器(Import Filter)●多速率滤波器(Multirate Filter)●零极点编辑器(Pole-zero Editor)●设计滤波器(Design Filter)选择其中的按钮,进入设计滤波器界面,进行下列选择,如图B、3所示。

基于MATLAB_FDATOOL工具箱的IIR数字滤波器的设计及仿真

基于MATLAB_FDATOOL工具箱的IIR数字滤波器的设计及仿真

科技广场2010.70引言在现代通信系统中,由于信号中经常混有各种复杂成分,很多信号的处理和分析都是基于滤波器而进行的。

但是,传统数字滤波器的设计使用繁琐的公式计算,改变参数后需要重新计算,尤其是高阶滤波器时工作量很大。

利用MAT-LAB信号处理箱可以快速有效地实现数字滤波器的设计与仿真。

MATLAB是MATHWORK公司推出的一套面向科学和数值计算的可视化语言,它集数值分析、矩阵运算、信号处理和图形显示于一体,是一个高度集成系统,具有友好的用户界面和良好的帮助功能。

MATLAB自带的信号处理工具箱( Signal Processing Toolbox)具有强大的信号处理和分析功能,利用MATLAB软件优越的数字分析及仿真功能,对理解数字滤波器及数字滤波具有一定参考价值。

数字滤波器根据其冲击响应函数的时域特性可以分为有限长冲击响应(FIR)和无限长冲击响应(IIR)。

下面以IIR型数字滤波器的设计为例来具体说明MATLAB在数字滤波器设计及系统仿真方面的应用。

1IIR数字滤波器传统设计方法IIR数字滤波器设计的基本思路是:模拟系统与离散系统存在着互相模仿的理论基础,可以用数字滤波器的特性去模仿模拟滤波器的特性,首先设计一个模拟滤波器的传递函数H(s),然后通过复变量s与复变量z之间的变换关系求出数字滤波器的系统函数H(z)。

模拟滤波器到数字滤波器的转换可在时域进行也可在频域实现,时域转换的关键是要使数字滤波器与模拟滤波器时域响应的采样值相等,以保持其瞬态特性不变,常用的是冲击响应不变法。

频域变换法必须使得数字滤波器在-π≤ω≤π范围内的幅频特性与模拟滤波器在-π/T≤ω≤π/T范围内的幅频特性一致,即保证s 平面与z平面上幅频特性的一一单值对应关系,常用的是双线性变换法。

传统设计方法思路清晰,步骤详尽,可参阅公式、手册循章而行。

但由于计算繁琐,设计过程中要改变参数和滤波器类型时都要重新计算。

它需要反复的实验,需要设计者凭借经验设定参数,很多时候要根据设计要求和滤波效果不断调整,以达到设计的最优化。

滤波器设计—fdatool工具及代码设计详解

滤波器设计—fdatool工具及代码设计详解

黎美琪201300800610 通信工程2班实验一基于FDATool的FIR及IIR滤波器设计一、实验目的:1.学会使用fdatool设计滤波器2.分析比较不同滤波器的特性二、实验条件Matlab 2013b pc机三、实验过程知识储备:使用FDATool设计FIR滤波器的具体步骤1.1 滤波器指标若需要设计一个16阶的FIR滤波器(h(0)=0),给定的参数如下:(1) 低通滤波器注:阶数问题这个选项直接影响滤波器的性能,阶数越高,性能越好,但是相应在FPGA实现耗用的资源需要增多。

在这个设置中提供2个选项:Specify order和Minimum order,Specify order是工程师自己确定滤波器的阶数,Minimum order是让工具自动确定达到期望的频率相应所需要的最小阶数。

(2) 采样频率Fs为8kHz,滤波器Fpass为3kHz,Fstop为3050hz(3) 输入序列位宽为9位(最高位为符号位)在此利用MATLAB来完成FIR滤波器系数的确定。

1.2 打开MATLAB的FDAToolMATLAB集成了一套功能强大的滤波器设计工具FDATool(Filter Design & Analysis Tool),可以完成多种滤波器的设计、分析和性能评估。

在MATLAB主命令窗口内键入“fdatool”,打开FDATool程序界面,如图B.2所示。

1.3 滤波器设计FDATool界面左下侧排列了一组工具按钮,其功能分别如下所述:滤波器转换(TransForm Filter)设置量化参数(Set Quantization Parameters)实现模型(Realize Model)导入滤波器(Import Filter)多速率滤波器(Multirate Filter)零极点编辑器(Pole-zero Editor)设计滤波器(Design Filter)选择其中的选择Design Filter按钮,进入设计滤波器界面,进行下列选择,如图B.3所示。

基于MATLAB利用FDAtool法实现基带成形滤波器

基于MATLAB利用FDAtool法实现基带成形滤波器

基于MATLAB利用FDAtool法实现基带成形滤波器作者:黄闻达来源:《科学与财富》2016年第09期摘要:文章中通过WCDMA系统中存在的码间干扰的问题,提出以成形滤波器来解决的方案。

并主要基于MATLAB的强大功能,利用FDAtool法实现基带成形滤波器。

关键词:基带成形技术,FDAtool法,数字滤波器1 WCDMA系统中的码间干扰问题1.1 码间干扰移动通信系统需要占用带宽小,以及可以减少调制带宽和抑制带外辐射,同时又非常需要减小符号间干扰。

移动无线系统中在相邻信道内的带外辐射,一般应比带内的辐射低40dB到80dB。

因为很难在RF频率上对发射机的频谱直接进行操作,脉冲成形就在IF或基带上进行。

通过一些脉冲成形技术可用来同时减少符号间干扰和已调数字信号的带宽。

1.2 码间干扰的克服当把通信系统(包括发射机、信道和接收机)的整个响应设计成在接收机端每个抽样时刻只对当前的符号有响应,而对其他符号的响应全等于零,那么符号间干扰ISI的影响就能完全被抵消。

这就意味着,基带传输系统的合成冲击响应必须满足公式就是无码间干扰基带传输时,系统冲激响应必须满足的条件。

其充分必要条件是x (t)的傅氏变换X(f)必须满足公式该充分必要条件被称为无码间干扰基带传输的奈奎斯特准则。

其中,TS是符号周期,n是整数。

在移动通信中最普遍的脉冲成形滤波器是升余弦滚降滤波器。

升余弦滚降滤波器属于满足奈奎斯特准则的那类滤波器。

升余弦滚降滤波器的传递函数如式:其中,α是滚降因子,02 FDAtool法实现基带成形滤波器2.1 数字滤波器设计基本步骤(1)确定性能指标。

(2)性能指标的逼近。

(3)用有限精度算法来实现系统函数。

(4)滤波器的技术实现。

2.2 性能指标3 GPPTS25.104里对成形滤波器作了如下规定。

⑴平方根升余弦滚降的时域表达式如下:⑵平方根升余弦滚降的频率响应特征如下:2.3 利用FDATOOL的实现FDAtool(Filter Design & Analysis Tool)是Matlab中专门用于滤波器设计和分析的工具。

(完整word版)matlab中fdatool使用说明

(完整word版)matlab中fdatool使用说明

基于MATLAB的滤波器设计由于MATLAB的广泛使用和功能的不断更新,基于MATLAB的滤波器设计方法以其方便快捷的特点,受到了设计者的欢迎.下面将举例说明基于MATLAB的FIR滤波器的设计。

1 基于FDATool的FIR滤波器设计使用FDATool设计FIR滤波器的具体步骤如下:1。

1 滤波器指标若需要设计一个16阶的FIR滤波器(h(0)=0),给定的参数如下:(1)低通滤波器(2) 采样频率FS 为48kHz,滤波器FC为10。

8kHz(3)输入序列位宽为9位(最高位为符号位)在此利用MATLAB来完成FIR滤波器系数的确定.1。

2 打开MATLAB的FDAToolMATLAB集成了一套功能强大的滤波器设计工具FDATool(Filter Design & Analysis Tool),可以完成多种滤波器的设计、分析和性能评估。

单击MATLAB主窗口下方的“Start”按钮,如图B.1所示,选择菜单“ToolBox”→“Filter Design”→“Filter Design & Analysis Tool(FDATool)”命令,打开FDATool,如图B。

2所示。

图B。

1 FDATool的启动图B。

2 FDATool的主界面另外,在MATLAB主命令窗口内键入“fdatool”,同样可打开FDATool程序界面。

1.3 选择Design FilterFDATool界面左下侧排列了一组工具按钮,其功能分别如下所述:●滤波器转换(TransForm Filter)●设置量化参数(Set Quantization Parameters)●实现模型(Realize Model)●导入滤波器(Import Filter)●多速率滤波器(Multirate Filter)●零极点编辑器(Pole-zero Editor)●设计滤波器(Design Filter)选择其中的按钮,进入设计滤波器界面,进行下列选择,如图B。

【FPGA】MATLAB生成FIR滤波器的操作步骤(包括生成VerilogHDL代码以及仿真过程)

【FPGA】MATLAB生成FIR滤波器的操作步骤(包括生成VerilogHDL代码以及仿真过程)

【FPGA】MATLAB⽣成FIR滤波器的操作步骤(包括⽣成VerilogHDL代码以及仿真过程)使⽤MATLAB⽣成滤波器有很多学问,这⾥只是作为初步的探索,和FPGA的更多结合,也正在探索中,相关博⽂例如:,该专题⽬录正在记录我学习FIR滤波器的过程。

MATLAB⽣成30阶低通1MHz海明窗函数设计步骤:(1)在MATLAB命令窗⼝中输⼊“fdatool”出现如下对话框:注意,在MATLAB2018以后的版本中输⼊:filterDesigner,即可打开上述界⾯。

(2)设定为低通滤波器。

(3)选择FIR滤波器的设计类型为窗函数。

设置FIR滤波器为30阶滤波器,选择窗函数的类型为海明窗函数,海明窗函数可以得到旁瓣更⼩的效果,能量更加集中在主瓣中,主瓣的能量约占99.963%,第⼀旁瓣的峰值⽐主瓣⼩40dB,但主瓣宽度与海明窗相同。

它定义为:(4)输⼊抽样频率和截⽌频率,分别是16MHz和1MHz。

(5)点击Design Filter 得到结果,如下图:(6)量化输⼊输出,点击⼯作栏左边的量化选项,即“set quantization parameters”选项,选择定点,设置输⼊字长为8,其他选择默认,如下图⽰:及测试⽂件:仿真结果如下图:如上图所⽰,当输⼊为线性,或者输⼊频率较低时,输出幅度不会被抑制,当输⼊频率较⾼,输出幅度会受到⼤幅度抑制,⽽当输⼊为⽩噪声或者混频信号时,滤波器会过滤掉⾼频信号。

这⾥分出来⼀⼩部分空间,引⽤点别⼈的内容来简单介绍下上述⼏个参数的意思:Response Type:选择FIR滤波器的类型:低通、、带通和带阻等。

在DDC/DUC模块设计中,抽取和内插需要使⽤Halfband Lowpass 类型,⽽channel filr需要使⽤Rsed-cosine类型。

Design Method:FIR滤波器设计⽅法有多种,最常⽤的是窗函数设计法(Window)、等波纹设计法(Equiripple)和最⼩⼆乘法(Least-Squares)等。

fdatool使用

fdatool使用

基于MATLAB的滤波器设计由于MATLAB的广泛使用和功能的不断更新,基于MATLAB的滤波器设计方法以其方便快捷的特点,受到了设计者的欢迎。

下面将举例说明基于MATLAB的FIR滤波器的设计。

1 基于FDATool的FIR滤波器设计使用FDATool设计FIR滤波器的具体步骤如下:1.1 滤波器指标若需要设计一个16阶的FIR滤波器(h(0)=0),给定的参数如下:(1) 低通滤波器(2) 采样频率F S为48kHz,滤波器F C为10.8kHz(3) 输入序列位宽为9位(最高位为符号位)在此利用MATLAB来完成FIR滤波器系数的确定。

1.2 打开MATLAB的FDAToolMATLAB集成了一套功能强大的滤波器设计工具FDATool(Filter Design & Analysis Tool),可以完成多种滤波器的设计、分析和性能评估。

单击MATLAB主窗口下方的“Start”按钮,如图B.1所示,选择菜单“ToolBox”→“Filter Design”→“Filter Design & Analysis Tool(FDATool)”命令,打开FDATool,如图B.2所示。

图B.1 FDATool的启动图B.2 FDATool的主界面另外,在MATLAB主命令窗口内键入“fdatool”,同样可打开FDATool程序界面。

1.3 选择Design FilterFDATool界面左下侧排列了一组工具按钮,其功能分别如下所述:●滤波器转换(TransForm Filter)●设置量化参数(Set Quantization Parameters)●实现模型(Realize Model)●导入滤波器(Import Filter)●多速率滤波器(Multirate Filter)●零极点编辑器(Pole-zero Editor)●设计滤波器(Design Filter)选择其中的按钮,进入设计滤波器界面,进行下列选择,如图B.3所示。

实验五 滤波器分析设计工具FDATool

实验五 滤波器分析设计工具FDATool

实验五滤波器分析设计工具FDATool1.实验目的(1)通过实验,了解FDATool工具的使用方法;(2)学会利用FDATool工具设计一些特殊滤波器,体会FDATool设计滤波器的优越性。

2.实验原理与方法FDATool(Filter Design and Analysis Tool)是一个功能强大的数字滤波器分析设计工具,它涵盖了信号处理工具箱中所有的滤波器设计方法。

利用它可以方便的设计出满足各种性能指标的滤波器,并可查看该滤波器的各种分析工具。

在命令窗中运行FDATool,可打开该工具。

FDATool的界面分上下两个部分:上面部分显示有关滤波器的信息,下面部分用来指定设计参数,如图5-1所示。

采用FDATool设计滤波器的一般步骤为:(1)在Response Type下选择滤波器类型:低通、高通、带通、带阻、微分器、Hilbert变换器、多带、任意频率响应等;然后在Design Method下选择一个合适的设计方法。

(2)在Filter Order下选择滤波器阶数,可以使用满足要求的最小滤波器阶数或直接指定滤波器的阶数。

(3)根据前两步选择的设计方法,设置Options下显示的与该方法对应的可调节参数。

(4)在Frequency Specifications和Magnitude Specifications 下指定设计指标。

一般来说,不同的滤波器类型和设计方法需要不同的设计参数。

对于某些设计方法(如多带FIR等纹波设计时),这两个面板会合并为一个面板。

设置完所有的设计指标后,单击Design Filter按钮即可完成滤波器的设计。

此外,通过FDATool的工具条还可以查看设计的滤波器性能;使用菜单Edit/Convert可以转换当前滤波器的结构;使用菜单File/Export可以导出或保存设计结果等。

以上介绍了FDATool启动时默认显示的滤波器分析设计界面。

此外,单击FDATool左侧工具栏内的按钮,还可以显示其他几个设计分析界面,这里就不再介绍了。

利用MATLAB的FDATOOL观察零极点

利用MATLAB的FDATOOL观察零极点

一、实验目的1.利用MATLAB的fdatool观察传递函数H(z)的零极点分布、幅度响应、脉冲响应及阶跃响应,并观察零极点分布与系统稳定性之间的关系。

2.利用MATLAB的fdatool验证有关稳定性的三个重要结论。

3.利用MATLAB绘制传递函数的三维图像,更直观的查看传递函数在实轴与虚轴中的变化情况。

二、实验条件PC机,MATLAB7.0三、实验内容实验前准备:打开MATLAB中的fsatool,将相关参数设置好。

在Numerator中输入H(z)中分子的系数(注意:系数按降幂顺序输入),在Denominator 中输入H(z)中分母的系数。

点击Import Filter观察图像。

(一)观察不同传递函数H (z)之间相关响应图像之间的差别a.21201.0z 2.01)z ---++=zz H (由幅度响应的图像可发现,该系统为高通滤波器。

b.2113.06.01)(--++=z z z H由幅度响应的图像可发现,该系统为高通滤波器。

c.2136.02.1-1)(--+=z z z H由幅度响应的图像可发现,该系统为低通滤波器。

d.215.0-1)(--+=z z z H由幅度响应的图像可发现,该系统为低通滤波器。

e.2128.015.1-1)(--+=z z z H由幅度响应的图像可发现,该系统为低通滤波器。

f.217625.07.11)(--++=z z z H由幅度响应的图像可发现,该系统为高通滤波器。

g.2181.08.11)(--++=z z z H由幅度响应的图像可发现,该系统为高通滤波器。

h.219425.06.1-1)(--+=z z z H由幅度响应的图像可发现,该系统为带通滤波器。

实验结论:通过观察极点在坐标系中的位置,可以得出以下两个结论 1.极点越靠近原点,系统收敛的越快。

2.极点在z 轴的左半平面,则相应在正负轴间交替。

为了更直观的观察零极点的位置与响应之间的关系,可以直接在零极点图中拖拽极点改变极点的位置,直接观察冲击响应或阶跃响应的变化。

滤波器使用方法

滤波器使用方法

[转]将Matlab的fdatool生成的Coefficients导出到Altera FIR Megacore的方法2009-08-25 09:57:52| 分类:默认分类|举报|字号订阅今天和列位交流一下fdatool和FIR MegaCore的一个使用技巧的问题(和这些软件有关的基本概念不在此赘述)。

首先fdatool是Matlab自带的一个数字滤波器的设计分析软件,里面提供了丰富的参数供调整(具体的参阅Matlab的教材),大大降低了数字滤波器的设计难度,同时又可以设计出高质量的滤波器。

fdatool虽然不是最好的滤波器设计软件,但是在Matlab响亮的名号下,得到了广泛的使用。

FIR Megacore是Altera针对其主流FPGA推出的一款商业化的数字滤波器设计软件,可以直接生成HDL代码(可综合的,但是加密了),同时其结构针对Altera自己的FPGA做了各种各样的优化。

尽管fdatool也可以生成可综合的HDL代码,但是没有针对FPGA的M4K、DSP Block做出相应的优化,所以性能和FIR Megacore生成的FIR滤波器有相当的差距。

然而,FIR Megacore的滤波器设计工具相当的简单,只提供了窗函数法,用户只能定义有限的几个参数。

而其他的设计方法,比如矩形系数更好的等纹波法则只能在fdatool里面找到。

所幸的是,FIR Megacore提供了滤波器的Coefficients导入的选项,可以使用第三方工具生成的Coefficients。

这使得我们能够用FIR Megacore来实现fdatool生成的滤波器。

FDATool的介绍FDATool(Filter Design&Analysis Tool)是MATLAB信号处理工具箱里专用的滤波器设计分析工具,MATLAB 6.O以上的版本还专门增加了滤波器设计工具箱(Filter Design Toolbox)。

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

基于MATLAB的滤波器设计由于MATLAB的广泛使用和功能的不断更新,基于MATLAB的滤波器设计方法以其方便快捷的特点,受到了设计者的欢迎。

下面将举例说明基于MATLAB的FIR滤波器的设计。

1 基于FDATool的FIR滤波器设计使用FDATool设计FIR滤波器的具体步骤如下:1.1 滤波器指标若需要设计一个16阶的FIR滤波器(h(0)=0),给定的参数如下:(1) 低通滤波器(2) 采样频率F S为48kHz,滤波器F C为10.8kHz(3) 输入序列位宽为9位(最高位为符号位)在此利用MATLAB来完成FIR滤波器系数的确定。

1.2 打开MATLAB的FDAToolMATLAB集成了一套功能强大的滤波器设计工具FDATool(Filter Design & Analysis Tool),可以完成多种滤波器的设计、分析和性能评估。

单击MATLAB主窗口下方的“Start”按钮,如图B.1所示,选择菜单“ToolBox”→“Filter Design”→“Filter Design & Analysis Tool(FDATool)”命令,打开FDATool,如图B.2所示。

图B.1 FDATool的启动图B.2 FDATool的主界面另外,在MATLAB主命令窗口内键入“fdatool”,同样可打开FDATool程序界面。

1.3 选择Design FilterFDATool界面左下侧排列了一组工具按钮,其功能分别如下所述:●滤波器转换(TransForm Filter)●设置量化参数(Set Quantization Parameters)●实现模型(Realize Model)●导入滤波器(Import Filter)●多速率滤波器(Multirate Filter)●零极点编辑器(Pole-zero Editor)●设计滤波器(Design Filter)选择其中的按钮,进入设计滤波器界面,进行下列选择,如图B.3所示。

图B.3 FDATool 设计FIR 滤波器● 滤波器类型(Filer Type )为低通(Low Pass )● 设计方法(Design Method )为FIR ,采用窗函数法(Window ) ● 滤波器阶数(Filter order )定制为15 ● 窗口类型为Kaiser ,Beta 为0.5 ● F S 为48kHz ,F C 为10.8kHz最后单击Design Filter 图标,让MATLAB 计算FIR 滤波器系数并作相关分析。

其系统函数H(z)可用下式来表示:H(z)=∑=-161k k k z b显然上式可以写成:H(z)=∑=--151k k kz bz即可以看成是一个15阶的FIR 滤波器的输出结果经过了一个单位延时单元1-z ,所以在FDATool 中,把它看成15阶FIR 滤波器来计算参数。

1.4 滤波器分析计算完FIR 滤波器系数以后,往往需要对设计好的FIR 滤波器进行相关的性能分析,以便了解该滤波器是否满足设计要求。

分析操作步骤如下:选择FDATool 的菜单“Analysis ”→“Magnitude Response ”,启动幅频响应分析如图B.4所示,x 轴为频率,y 轴为幅度值(单位为dB )。

图B.4 FIR滤波器幅频响应在图的左侧列出了当前滤波器的相关信息:●滤波器类型为Direct Form FIR(直接I型FIR滤波器)●滤波器阶数为15选择菜单“Analysis”→“Phase Response”,启动相频响应分析,如图B.5所示。

由该图可以看到设计的FIR滤波器在通带内其相位响应为线性的,即该滤波器是一个线性相位的滤波器。

图B.5 滤波器相频响应图B.6显示了滤波器幅频特性与相频特性的比较,这可以通过菜单“Analysis”→“Magnitude and Phase Response”来启动分析。

图B.6 滤波器幅频和相频响应选择菜单“Analysis”→“Group Delay Response”,启动群时延分析。

FDATool还提供了以下几种分析工具:●群时延响应分析。

●冲激响应分析(Impulse Response),如图B.7所示。

●阶跃响应分析(Step Response),如图B.8所示。

●零极点图分析(Pole/Zero Plot),如图B.9所示。

图B.7 冲激响应图B.8 阶跃响应图B.9 零极点图求出的FIR滤波器的系数可以通过选择菜单“Analysis”→“Filter Coefficients”来观察。

如图B.10所示,图中列出了FDATool计算的15阶直接I型FIR滤波器的部分系数。

图B.10 滤波器系数1.5 量化可以看到,FDATool计算出的值是一个有符号的小数,如果建立的FIR滤波器模型需要一个整数作为滤波器系数,就必须进行量化,并对得到的系数进行归一化。

为此,单击FDATool左下侧的工具按钮进行量化参数设置。

量化参数有三种方式:双精度、单精度和定点。

在使用定点量化前,必须确保MATLAB中已经安装定点工具箱并有相应的授权。

1.6 导出滤波器系数为导出设计好的滤波器系数,选择FDATool菜单的“File”→“Export”命令,打开Export(导出)对话框,如图B.11所示。

图B.11 滤波器系数Export 对话框在该窗口中,选择导出到工作区(Workplace )。

这时滤波器系数就存入到一个一维变量Num 中了。

不过这时Num 中的元素是以小数形式出现的:Num=Columns 1 through 9-0.0369 0.0109 0.0558 0.0054 -0.0873 -0.0484 0.1805 0.4133 0.4133 Columns 10 through 160.1805 -0.0484 -0.0873 0.0054 0.0558 0.0109 -0.03692 基于MATLAB 内建函数的FIR 设计在Matlab 中已经内建有各种滤波器的设计函数,可以直接在程序中调用,这里介绍其中几个函数。

2.1 fir1函数功能:设计标准频率响应的基于窗函数的FIR 滤波器。

语法:b=fir1(n ,Wn);b=fir1(n ,Wn ,‘ftytpe ’); b=fir1(n ,Wn ,Window);b=fir1(n ,Wn ,‘ftype ’,Window);说明:fir1函数可以实现加窗线形相位FIR 数字滤波器设计,它可以设计出标准的低通、高通、带通和带阻滤波器。

b=fir1(n ,Wn)可得到n 阶低通,截至频率为Wn 的汉明加窗线形相位FIR 滤波器,0≤Wn ≤1,Wn=1相当于0.5fs 。

滤波器系数包含在b 中,可表示为n Z n b z b b z b --++⋯++=)1()2()1()(1当Wn=[W 1 W 2]时,fir1函数可得到带通滤波器,其通带为W 1<w <W 2。

当ftype=high 时,设计高通FIR 滤波器;当ftype=stop 时,设计带阻滤波器。

在设计高通和带阻滤波器时,由于对奇次阶的滤波器,其在Nyquist 频率处的频率响应为零,不适合构成高通和带阻滤波器。

因此fir1函数总是使用阶数为偶数的滤波器,当输入的阶数为奇数时,fir1函数会自动将阶数加1。

b=fir1(n,Wn,Window)利用参数Window来指定滤波器采用的窗函数类型。

其默认值为汉明窗。

b=fir1(n,Wn,‘ftype’,Window)可利用ftype和Window参数,设计各种滤波器。

2.2 fir2函数功能:设计任意频率响应的基于窗函数的FIR滤波器。

语法:b=fir2(n,f,m);b=fir2(n,f,m,Window);b=fir2(n,f,m,npt);b=fir2(n,f,m,npt,window);b=fir2(n,f,m,npt,lap);b=fir2(n,f,m,npt,lap,Window);说明:fir2函数可以用于设计有任意频率响应的加窗FIR滤波器,对标准的低通、带通、高通和带阻滤波器的设计可使用fir1函数。

b=fir2(n,f,m)可设计出一个n阶的FIR滤波器,其滤波器的频率特性由参数f和m决定。

参数f为频率点矢量,且f∈[0,1],f=1对应于0.5fs。

矢量f按升序排列,且第一个元素必须是0,最后一个必须为1,并可以包含重复的频率点。

矢量m中包含了与f相对应的期望得到的滤波器的幅度。

b=fir2(n,f,m,Window)中用参数Window来指定使用的窗函数类型,默认值为汉明窗。

b=fir2(n,f,m,npt)中用参数npt来指定fir2函数对频率响应进行内插的点数。

b=fir2(n,f,m,npt,lap)中用参数lap来指定fir2在重复频率点附近插入的区域大小。

3 基于FDATool的HDL代码产生在MATLAB 7 中,对数字滤波器的设计提供了与若干种现实方案的接口。

此类接口提供MATLAB到设计工具的无缝连接,即MATLAB根据设计工具的文件格式,将包含滤波器设计参数的文件输出。

设计工具导入该文件,并作为设计模块的一部分。

在此类接口中包括与Xilinx公司和TI 公司的接口,还包括C头文件以及HDL代码。

与FDATool的启动类似,单击MATLAB主窗口下方的“Start”按钮,选择“ToolBox”→“Filter Design HDL coder”→“Filter Design & Analysis Tool(FDATool)”,打开FDATool。

根据上节相同的设计和分析步骤,对FIR滤波器进行分析和设计,在设计完毕之后,可以得到滤波器系数。

此时就可以应用设计工具接口。

3.1 C语言头文件的产生选择FDATool菜单的“Targets”→“Generate C Header”命令,打开产生C语言头文件的窗口,如图B.12所示。

图B.12 产生C语言头文件可以看到输出的头文件中,变量名和变量长度名可以自定义,变量输出的格式也有很多种可以选择。

根据在FDATool量化时选用的量化方式,窗口中会显示推荐使用的输出格式。

产生的头文件内容如下:/** Filter Coefficients (C Source) generated by the Filter Design and Analysis Tool* Generated by MATLAB(R) 7.0* Generate on:22-Dec-2005 11:42:24*//** Discrete-Time FIR Filter (real)*------------------------------------* Filter Structure :Direct-Form FIR* Filter Order :15* Stable :Yes* Linear Phase :Yes (Type 2)*//* General type conversion for MATLAB generated C-code */# include“tmwtypes.h”/** Expected path to tmwtypes.h* C:\MATLAB7\extern\include\tmwtype.h*/const int BL = 16;const real64_T B[16]={-0.03687003131181, 0.01091744268631, 0.0558306521771, 0.005429393216792,-0.08726921427845, -0.04839711653448, 0.1804973650249, 0.41334007432590.4133400743259, 0.1804973650249, -0.04839711653448, -0.08726921427845,0.005429393216792, 0.0558306521771, 0.01091744268631, -0.03687003131181};3.2 Xilinx系数文件的产生选择FDATool菜单的“Targets”→“Xilinx Coefficients(.COE)file”命令,MATLAB直接提示文件的保存位置,保存完毕之后另开一个窗口显示该文件的内容。

相关文档
最新文档