没有合适的资源?快使用搜索试试~ 我知道了~
matlab与QUARTERSII.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 156 浏览量
2021-10-30
04:46:20
上传
评论
收藏 3.4MB PDF 举报
温馨提示
试读
26页
MATLAB
资源推荐
资源详情
资源评论
1
基于 MATLAB和 FPGA联合平台的 DSP课程实验教
学分析报告
姓 名:
院 系:
专 业:
学 号:
指导教师:
完成时间 : 年 月 日
2
目录
1 引言 ............................................................................................................................. 3
2 IIR 数字滤波器的基本结构与稳定性问题 ..................................................................... 3
2.1 IIR 数字滤波器的基本结构 ................................................. 3
2.2 系数取整后的稳定性分析 ................................................................................................3
3
IIR 数字滤波器设计方法比较
..........................................4
3.1 概述 ....................................................................4
3 .2 四种设计方法比较 .......................................................6
3 .3 比较结果分析 ...........................................................8
4 .IIR 数字滤波器应用 ..........................................................8
5 IIR 数字滤波器的的硬件平台实现 ..............................................10
6 IIR 数字滤波器的仿真 ........................................................11
6. 1 Ma tlab 仿真 ...........................................................11
7 硬件描述语言 VHDL及数字系统设计方法 ..........................................16
7.1 硬件描述语言 VHDL简介 .................................................16
7.2 利用 VHDL设计数字系统 .....................................................17
8 QuartusII 仿真与 FPGA测试 .......................................................22
9 联合仿真及结果分析 .............................................................24
10 结语 ..........................................................................26
参考文献 ................................................................................................................ ..........26
3
IIR 数字滤波器的设计与仿真
摘要 : 提出一种在 FPGA中实现高速 IIR 数字滤波器的方法 , 在理论上分析了 IIR 数字滤波器系数取整后
的稳定性问题 ; 利用 FDATool设计滤波器 , 在Matlab 中编程仿真 ; 使用实验仿真的方法确定 IIR 滤波器
系数量化字长 , 保证了 IIR 滤波器性能和硬件资源的优化 , 使IIR 滤波器能适用高速场合 , 研究了 FPGA
中运算部件的运算特点 , 采用 Verilog 硬件描述语言实现迭代运算及有符号数乘法 ; 最后编程实现 IIR
数字滤波器 , 通过 QuartusII 仿真并在 FPGA上实现。通过试验验证 , 该方法设计
的IIR 数字滤波器收敛 , 能适用于对实时性要求高的系统中。
1 引言
数字滤波器是现代数字信号处理系统的重要组成部分之一 , 具有模拟滤波器所无法替代的新特性 , 因
此在通信、语音与图像处理、自动控制等领域有着广泛的应用 , 它对于降低噪声、提高信噪比及信号
的频谱纯度等方面有着重要的意义。数字滤波器根据单位脉冲响应的不同 , 可分为 FIR ( 有限长脉冲
响应 ) 滤波器和 IIR ( 无限长脉冲响应 ) 滤波器 , FIR 优点在于具有良好的相位特性 , IIR 优点在于具有
良好的幅频特性 , 可以根据不同的系统性能要求选择不同的滤波器。 IIR 滤波器以较少的阶数即可完
成FIR滤波器需较多阶数的幅频特性 ; 在对线性相位不做特别要求的情况下 , IIR 滤波器在相同门级
规模和同频率速度下可得到更好的带外衰减特性 , 因此 IIR 滤波器更广泛地应用于一些特殊场合。目
前滤波器的主要实现方法 : 单片通用数字滤波器集成电路 , 该方法简单方便 , 但由于其字长和阶数不
能调节 , 且规格较少 , 难以满足实际需要 ; 采用 DSP器件 ,DSP集成了许多专用函数 , 设计数字滤波器相
对简单方便 , 其应用也最为广泛 ,DSP器件性能也不断提高 , 但在某些要求实时性、高速处理场合则受
到很大限制 ; FPGA ( 现场可编程门阵列 ) 以其优越的实时性和设计的灵活性成了控制系统中重要的一
部分 , 并且直接采用 Verilog 或VHDL 编程 , 简化了设计步骤 , 在FPGA上实现滤波器 , 使滤波器能适用
高速场合。 数字滤波器是今后信号处理系统的滤波器主流器件 , 将在更多的数字信号处理应用领域得
到广泛应用。
实现数字滤波器的方法有两种,一是采用计算机软件进行,就是把所要完成的工作通过程序让计算
机来实现;二是设计专用的数字处理硬件。这个地方主要用到的就是第一种方法。即是用 Mafiab 提
供的信号处理工具箱来实现数字滤波器。
Matlab 信号处理工具箱提供了丰富的设计方法,可以使得繁琐的程序设计简化成函数的调用,只要
以正确的指标参数调用函数,就可以正确快捷地得到设计结果。
2 IIR 数字滤波器的基本结构与稳定性问题
2. 1 IIR 数字滤波器的基本结构
IIR 数字滤波器传输函数的标准表达式 (1) 及对应的差分方程 (2) 为:
H ( z) = Σ Mr=0br z- r 1 + ΣNk =1ak z- k( 1)
y ( n) = Σ Nk =1ak y ( n - k) + ΣMk =0ak x ( n - k) ( 2)
IIR 滤波器的实现有多种结构 , 直接型、级联型、并联型及格型结构等。其中级联型较为容易实
现且易于实现高阶滤波器 , 且任何高阶 IIR 滤波器都能表示成一阶和二阶的级联 , 故本文以二阶 IIR 数
字滤波器为例来阐述如何在 FPGA中实现高速数字滤波器。当前 FPGA的开发工具软件中都提供了具有
滤波的功能的 IP 核, 但大多数都为 F IR 滤波器 , F IR 滤波器占用很多系统资源 , 设计起来也不够灵活。
另外 , 滤波器系数往往是非整数 , 但是 FPGA目前不能直接支持浮点数运算 , 而在 FPGA中表示浮点数会
使得硬件占用率急速扩大 , 且速率受限 ,
因此对滤波器系数进行整数处理在高速应用场合有着现实的意义。 对(1) 式, 根据数字信号处理理论 ,
IIR 滤波器的稳定性取决于传输函数的极点 , 当所有的极点位于单位圆内 , 滤波器才是稳定的。
2. 2 系数取整后的稳定性分析
由理论设计出的理想数字滤波器传输函数的系数 bk 、ak都是无限精度的 , 实际实现时 , 滤波器的所有
系数都必须以有限长二进制码形式存放在存储器中 , 所以必须对理想系数进行量化 , 但由此造成滤波
4
器零极点位置发生偏移 , 使得实际滤波器的频率响应与理论值有出入 , 严重时可能会使滤波器极点移
至单位圆外 , 导致系统不稳定。系数量化对滤波器性能的影响和量化字长有密切关系 , 讨论滤波器量
化的误差的最终目的在于确定满足频率响应指标的合适的字长。 在FPGA中实现差分方程 , 对系数的处
理一般乘以 2N , 只要 N足够大 , 就能保证系数量化后传输函数的频率响应误差在可控范围内。为讨论
的简单 , 这里以一阶系统为例进行分析 , 事实上任何高阶系统都能转化为二阶与一阶系统级联构成 ,
二阶系统可进一步表示为一阶系统。
记一阶系统差分方程为 :
y( n) = B x ( n) - A y ( n - 1) ( 3)
方程两边同乘以 2N 得:
Y ( n)
=
int (
2
N B )
3
x ( n)
-
int (
2
N A )
3
y ( n
- 1
)
=
(
2
N B
+▽ 1
)
3
x ( n)
-
(
2
N A
+▽ 2
) y ( n
- 1
)
= 2 N B x ( n) - 2 N Ay ( n - 1 ) + [ ▽ 1 x ( n) - ▽ 2 y ( n - 1 ) ] ( 4)
y ( n) = int ( Y ( n) / 2N ) = Y ( n) / 2N +▽ 3 其中▽ 1 、▽ 2 、▽ 3 为
系数扩大后取整的误差 , Y ( n) 为中间变量。对上式进一步
化简 :y ( n) = [B x ( n) - Ay ( n - 1 ) ] + [ ▽ 1 x ( n) - ▽ 2 y ( n -1 ) ] / 2N ( 5)
对比 ( 3) 式可以看出系数取整处理后多了一个 [ ▽ 1 x( n) - ▽ 2 y ( n - 1 ) ] / 2N 的误差因
子, 记E = [ ▽ 1 x ( n) - ▽ 2 y ( n - 1 ) ] / 2N 。下面推导该差分方程的解 , 引入中间变
量▽
,
则
(
4
)
可改写成
y ( n) + ▽ = - A [ y ( n - 1) + ▽ ] ( 6)
其中▽ = B x ( n) + E- A - 1
,
从表达式
(
6
)
可以得出
: { y ( n)
+▽
}
为一等比数列
,
可得
: y ( n)
+▽ =
(
-
A ) n [ y (
0
)
+
▽ ], 系统一般为因果系统 ,
y (
0
)
= 0
,
代入▽ =
B x ( n)
+
E
-
A
- 1
易得
y ( n) = [ ( - A ) n - 1 ]B x ( n) + E- A - 1( 7)
由
(
7
)
式可知
,
只要保证 | -
A
| < 1
,
系统就能稳定。量化后
A
和
B
的全部舍入误差
E
对输出有影响
,
这种表现可看作是叠加在输入信号上 , 所以系统应该尽可能的满足 | B x ( n) | > > E,这样就要求系
数扩大倍数
(
2
N )
尽可能的多
,
而
N
大小的选择受到系统资源与速度的限制。对于整个滤波系统来
说, 系数量化后系统的稳定性需要重新评估 , 这点应用 M atlab 软件可以很好的解决。从 ( 7) 式中可以
得出如下结论 : ①这是个线性系统 , 输入 x ( n) 与输出 y ( n) 成简单的线性关系 , 从这也可证明因果
系统是线性系统
;
②
A
的大小决定了系统的稳定与否
,
只有满足 |
A
| < 1
,
系统才是稳定的
,
否则系统
是不稳定系统 ; ③系数量化的位数要合适 , 保证量化后的频率响应满足要求 , 同时在满足频率响应
的前提下 , 选用尽可能少的量化位数 , 以节约硬件资源。
3 .IIR 数字滤波器设计方法比较
3.1 概述
IIR 数字滤波器的最通用的方法是借助于模拟滤波器的设计方法。模拟滤波器设计已经有了相当成
熟的技术和方法,有完整的设计公式,还有比较完整的图表可以查询,因此设计数字滤波器可以充
分利用这些丰富的资源来进行。
对于 IIR 数字滤波器的设计具体步骤如下:
5
(1) 按照一定的规则将给出的数字滤波器的技术指标转换为模拟低通滤波器的技术指标。
(2) 根据转换后的技术指标设计模拟低通滤波器 G(s)(G(s) 是低通滤波器的传递函数 ) 。
(3) 再按照一定的规则将 G(s) 转换成 H(z)(H(z) 是数字滤波器的传递函数 ) 。若设计的数字滤波器是
低通的,上述的过程可以结束,若设计的是 高通 、带通或者是带阻滤波器,那么还需要下面的步骤:
将高通、带通或带阻数字滤波器的技术指标转换为低通模拟滤波器的技术指标,然后设计出低通
G(s) ,再将 G(s) 转换为 H(z) 。
Matlab 信号工具箱提供了几个直接设计 IIR 数字滤波器的函数,直接调用这些函数就可以很方便地
对滤波器进行设计。这里选取巴特沃斯法、切比雪夫 I 、切比雪夫Ⅱ、椭圆法四种方法进行比较。
给出用上述方法设计数字滤波器的函数如下:
其中: Wp表示通带截止频率; Ws表示阻带截止频率; Rp表示通带纹波系数; Rs 表示阻带纹波系数;
N表示滤波器最小阶数; Wn表示截止频率。 b,a 分别表示阶次为 N+1 的数字滤波器系统传递函数的
分子和分母多项式系数向量; Fs 为采样频率; n 为在区间 [O Fs] 频率范围内选取的频率点数; f 记
录频率点数。 n 取 2 的幂次方,可以提高运算的速度, 因为 freqz 函数采用基 2 的 FFT算法。ftype=high
时,为高通滤波器; ftype=bandpass 时,为带通滤波器; ftype=stop 时,为带阻滤波器。
剩余25页未读,继续阅读
资源评论
jishuyh
- 粉丝: 0
- 资源: 7万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功