基于IIR滤波器的数字幅频均衡器实现.docx

上传人:b****2 文档编号:24549412 上传时间:2023-05-28 格式:DOCX 页数:13 大小:471.94KB
下载 相关 举报
基于IIR滤波器的数字幅频均衡器实现.docx_第1页
第1页 / 共13页
基于IIR滤波器的数字幅频均衡器实现.docx_第2页
第2页 / 共13页
基于IIR滤波器的数字幅频均衡器实现.docx_第3页
第3页 / 共13页
基于IIR滤波器的数字幅频均衡器实现.docx_第4页
第4页 / 共13页
基于IIR滤波器的数字幅频均衡器实现.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

基于IIR滤波器的数字幅频均衡器实现.docx

《基于IIR滤波器的数字幅频均衡器实现.docx》由会员分享,可在线阅读,更多相关《基于IIR滤波器的数字幅频均衡器实现.docx(13页珍藏版)》请在冰豆网上搜索。

基于IIR滤波器的数字幅频均衡器实现.docx

基于IIR滤波器的数字幅频均衡器实现

1前言

对于音频信号的功率放大,必然会经过某些网络,使得信号特定频率的信号幅度衰减,从而信号失真,为了解决这一问题,可以运用幅频均衡理论对失真信号信号进行了补偿,恢复了原先的信号,然后经过功率放大电路对信号进行放大,这样做可以大大降低了声音信号的失真程度。

这样的实际应用在音响中十分常见,例如生活中的高保真耳机等等,都采用了数字幅频技术。

关键字:

幅频均衡IIR滤波器小信号放大带阻网路

2方案设计与论证

本放大器系统由前置放大(小信号放大)、带阻网络、数字幅频均衡和低频功率放大电路四部分组成。

下面对各个部分进行方案论证。

2.1小信号放大方案

本题要求在输入电压有效值为5mV的条件下,放大倍数达到400倍。

而且20Hz到20kHz衰减不能超过1dB。

-1dB转化为信号幅值变化为11%,可以说指标要求很高。

我们可以选择使用PGA或AD620实现这一指标。

方案一:

使用PGA103和PGA205级联实现。

PGA103可放大1、10、100、1000倍,

PGA205可实现1、2、4、8倍放大,两级级联可达到400倍。

放大400倍后衰减未达到1dB,满足要求。

但放大后波形不稳定,而且价格昂贵。

方案二:

使用AD620实现。

AD620是放大倍数可连续变化的高精度仪表运放,放大

400倍后波形较稳定,而且价格较低,所以选择AD620构建小信号放大电路。

2.2数字幅频均衡方案

方案一:

理论推导带阻网络的传递函数,得出带阻网络的系统结构,然后对实际的带阻网络进行模式识别,得出其实际的传递函数。

对输入的信号在时域进行频率测量,根据传递函数计算得出其幅频衰减的程度,然后对其损失的幅度进行补偿。

方案二:

利用FFT算法分析信号的频谱,得到信号的频率值,然后再根据带阻网络的传输特性进行补偿。

方案三:

对所给的带阻网络电路进行仿真,求出其幅频特性曲线及中心频率,并以实际带阻网络验证其准确性。

运用数字信号处理技术,利用可编程逻辑器件,构建相同于带阻网络对应的数字带通滤波器,对通过带阻网络所衰减的幅度进行补偿。

由于方案一和方案二对处理器的速度有很大要求,而且实时性比较高,很难达到同步输出,而方案三采用FPGA并行处理的优势,在其内部用硬件构建带通滤波器,可实时的对信号进行数字幅频均衡。

2.3功率放大方案

根据题目效率要求,可知只有D类功率放大电路满足要求。

跟据PWM信号的产生方式有两种方案

方案一:

运用数字技术,将所要放大的信号用数字方式存储,在可编程逻辑器件或数字处理芯片内部进行调制,将调制所得到的PWM用DA输出,由D类功率放大电路对信号进行放大。

再经过低通滤波器,便可以将信号还原。

方案二:

将所要放大的信号直接由DA输出,硬件产生三角波将所要放大信号进行调

第-1-页共10页

制,获得PWM信号,然后由D类功率放大电路对信号进行放大。

再经过低通滤波器,便可以将信号还原。

3系统设计

3.1总体设计

 

3.2小信号放大电路设计

使用OP07构建跟随电路。

OP07作为精密运算放大器,有失调电压小、低漂移和低噪

声的特点,作为跟随器不会对小信号的Vp』值造成较大的改变。

小信号放大我们使用

AD620实现。

AD620是低功耗高精度仪表放大器。

精度很高而且放大增益连续可变,放大

增益G由1和8管脚间接入外部电阻RG决定。

只要Rg岂170门,增益便可达到400倍。

AD620的输出阻抗为37‘、,串联一个560门,输出阻抗为59711

3.3带阻网络设计

按照题目给出的带阻网络电路进行仿真,得到带阻网络的幅频特性如下图。

按题目要求我们依照所给电路图构建带阻网络。

3.4数字均衡部分设计

为了实现针对于带阻网络的均衡输出,我们在数字域内设计了一个与带阻网络特性相

反的IIR带通滤波器,来补偿带阻网络频率特性,如图3所示。

图3中数字域的传递函数

A1

H(z)为带通网络传递函数倒数在时域中的表示。

这样,经过该带通IIR滤波器的补

H(s)

偿后,输出的模拟信号x(t)就是输入模拟信号x(t)的平衡输出。

图4数字均衡部分设计框图

F面介绍带通IIR滤波器的设计。

根据带阻网络原理图,推出系统传递函数

 

在其后端接入补偿网络,对带阻网络频率特性造成的幅度变化进行补偿,补偿网络的传递

函数为

h()=(s+20220)(s+1052)

s一2(s84810)(s251.1)

为将其设计成为IIR滤波器,将该传递函数转换到Z域

彳“、2—3.192Z"1+1.193Z』

H(z)1

1—1.8986Z+0.8991Z

它的时域模型为

b)y(n)dy(n-1)yb2(n—2)=a°x(n)a/(n-1)a?

x(n-2),其中

b0hQ=—1.8986,b2=0.8991,a。

=2®3.192,a?

=1.193

为减少运算所需逻辑资源,减少运算所需周期,对上式进行变换得

w_tmp(n)=d汉w(n—1)+b2汉w(n—2)

40

w(n)=x(n)_w_tmp(n)述2

y(n)=a0w(n)@w(n-1)a2w(n-2)

根据上式可以看出,可以利用FPGA内的一个二路乘累加单元、一个四路乘累加单元和一个加法单元来实现整个运算过程。

3.5功率放大器设计

功率放大器主要由三部分组成,信号调制,功率放大,信号解调。

信号调制,将放大的低频信号,用三角波调制,即将其幅值与三角波信号作比较,将被放大信号调制成PWM信号。

功率放大,用调制成的PWM信号来驱动mosfet管,来获得功率。

信号解调,由于信号的信息是隐藏在PWM信号之中,所以要将其解调,方法是,在

输出负载前,让信号通过一个低通滤波器,其截止频率为20K.

4软件设计

本设计在FPGA内部构建了一个二阶的带通IIR滤波器,其逻辑框图如图所示,数据

采样模块对数据采样,然后送往滤波器滤波,最后的数据由DA控制模块送到外部的DA

转换器,其中base_IIR为该设计的核心部分。

图5FPGA内部均衡逻辑图

5系统测试

5.1小信号放大输入信号为5Vrms时,

频率

20Hz

1kHz

10kHz

20kHz

Vrms

;2.38V

2.375V

2.36V

2.20V

放大倍数

476

475

472

440

衰减

;0dB

-0.018dB

-0.007dB

-0.68dB

满足放大大于400倍,-1dB通频带为20Hz~20kHz.

5.2数字均衡

频率

10kHz

20Hz

100Hz

200Hz

300Hz

500Hz

1kHz

5kHz

15kHz

20kHz

幅度

M.39「

1.30

1.18

1.18

1.17

1.33

1.53

1.4

1.36

1.30

幅度波动

0dB

-0.58dB

-1.43dB

-1.43dB

-1.45dB

-0.38dB

0.83dB

0.06dB

-0.189dB

-0.58dB

5.3功率放大电路

12V供电,电流输出1.52A,电源功率18.24W。

输出电压有效值:

9.36V,输出功率为11.22W,效率为61.5%.

20Hz输出峰峰值6.6V,20kHz输出峰峰值5.9V,衰减为1dB.

6设计总结

我们设计制作了数字幅频均衡功率放大器,其中包括前置放大,小信号电压放大倍数

475倍,20Hz~20kHz最大衰减0.68dB,输出电阻59^1;数字均衡电路输入阻抗6021,幅度波动在-1.5dB到+1.5dB之间。

功率放大电路也基本完成要求。

附录:

源程序:

modulebase_IIR(

reset,

clk,

clken,

x,

result

);

parameterb1仁-1924;

parameterb12=902;

parametera10=2048;

parametera1仁-3469;

parametera12=1418;

parameterINPUT_WIDTH=13;

parameterCOEF_WIDTH=10;

parameterDLY_WIDTH=32;

//fractionalbits

//38

//lowbit

//highbit

parameterF_BITS=4;

parameterOUTPUT_WIDTH=2*DLY_WIDTH+2;

parameterL_BIT=COEF_WIDTH;

parameterH_BIT=L_BIT+DLY_WIDTH-1;

//PortDeclaration

inputclk;

inputclken;

inputreset;

input[INPUT_WIDTH-1:

0]x;

output[OUTPUT_WIDTH-1:

0]result;

//WireDeclaration

wire[OUTPUT_WIDTH-1:

0]out_biquad1;

wire[F_BITS-1:

0]pzeros;

wire[DLY_WIDTH-1:

0]xn;

result_w;

in_biquad2;

xn_reg;

wire[OUTPUT_WIDTH-1:

0]//wire[18:

0]flag={19{1}};

reg[DLY_WIDTH-1:

0]

reg[DLY_WIDTH-1:

0]reg[OUTPUT_WIDTH-1:

0]result;assignpzeros=0;

xn={x[INPUT_WIDTH-1],x[INPUT_WIDTH-1],x[INPUT_WIDTH-1],x[INPUT_WIDTH-1],x[INPUT_WIDTH-1],x[INPUT_WIDTH-1:

0]};

assignxn={{19{x[INPUT_WIDTH-1]}},x[INPUT_WIDTH-1:

0]};always@(posedgeclk)

beginif(reset)beginxn_reg<=0;result<=0;in_biquad2<=0;

endelseif(clken)beginxn_reg<=xn;result<=out_biquad1;in_biquad2<=out_biquad1[H_BIT:

L_BIT];

end

end

base_iir_biquadbase_iir_biquad1(.clk(clk),

.clken(clken),

.reset(reset),

.x(xn_reg),

.result(out_biquad1));

defparam

base_iir_biquad1.b1=b11,base_iir_biquad1.b2=b12,base_iir_biquad1.a0=a10,base_iir_biquad1.a1=a11,base_iir_biquad1.a2=a12;endmodule

第-7-页共10页

电路原理图:

前置放大和带阻网络电路图

nrniWnrl

1

川叫1111川

FPGA原理图

 

 

ADLTC1405原理图

 

 

DAC7654原理图

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 简洁抽象

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1