(完整版)matlab中fdatool使用说明
滤波器设计(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是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滤波器系数是数字滤波器设计中的一个重要概念,在MATLAB中常常用到。
它是指数字滤波器的各个滤波器系数值所构成的一个数组。
在fdatool工具中设计数字滤波器时,可以通过调整滤波器的各项参数,如滤波器类型、截止频率、通带和阻带等参数,来生成所需的滤波器系数。
这些滤波器系数可以被用于数字信号处理中的滤波器实现,从而对待处理信号进行滤波处理,达到滤波器的滤波效果。
fdatool滤波器系数的应用范围广泛,涉及到音频处理、图像处理、数据处理等多个领域。
- 1 -。
(完整版)使用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)

(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

讲座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设计滤波器讲课教案

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的滤波器设计由于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所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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直接提示文件的保存位置,保存完毕之后另开一个窗口显示该文件的内容。