使用FIR滤波器实现音频滤波实验指南Word格式.docx

上传人:b****3 文档编号:13844459 上传时间:2022-10-14 格式:DOCX 页数:16 大小:941.30KB
下载 相关 举报
使用FIR滤波器实现音频滤波实验指南Word格式.docx_第1页
第1页 / 共16页
使用FIR滤波器实现音频滤波实验指南Word格式.docx_第2页
第2页 / 共16页
使用FIR滤波器实现音频滤波实验指南Word格式.docx_第3页
第3页 / 共16页
使用FIR滤波器实现音频滤波实验指南Word格式.docx_第4页
第4页 / 共16页
使用FIR滤波器实现音频滤波实验指南Word格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

使用FIR滤波器实现音频滤波实验指南Word格式.docx

《使用FIR滤波器实现音频滤波实验指南Word格式.docx》由会员分享,可在线阅读,更多相关《使用FIR滤波器实现音频滤波实验指南Word格式.docx(16页珍藏版)》请在冰豆网上搜索。

使用FIR滤波器实现音频滤波实验指南Word格式.docx

(1)在DE2_default工程上修改

(2)从Bypass模式切换到DAC模式

第一步:

修改I2C_AV_Config.v

在修改工程之前,下载原来的程序,用计算机播放器播放音乐并连到DE2的LINEIN输入端,用耳机可以听到效果。

但是这个声音并没有经过ADC和DAC,因此并需进行修改,否则无法测试滤波器的效果。

修改方法:

A_PATH_CTRL:

LUT_DATA<

=16'

h08F8;

将8改为0

SAMPLE_CTRL:

h1002;

将2改为0

改完后结果如下图所示:

图1修改I2C_AV_Config.v

此时编译工程,将不能再听到LINEIN输入的音乐,说明修改生效了。

第二步:

Step2:

修改AUDIO_DAC.v

(1)增加两个输入fir_in_data和fir_out_data,前者为fir滤波器的输入数据,也是ADC采样后的数据,后者是fir滤波器滤波后的数据。

具体代码为:

input[DATA_WIDTH-1:

0]fir_out_data;

input[DATA_WIDTH-1:

0]fir_in_data;

图2增加两个输入

(2)fir_in_data为ADC采样后的输出,现将其连入。

图3将FLASH_Out改为fir_in_data

第三步:

Step3:

修改DE2_Default.v

(1)将ADC采集的数据进行串并转换得到并行数据

(2)将并行数据送给fir_in_data

(3)ADC采集后的数据是双通道的,只需将左声道或右声道送给fir_in_data

(1)串并转换

将以下代码加入到系统顶层文件DE2_Default.v

//////////////////////////////addedbysunshine(begin)

reg[3:

0]count_ADC_l=0;

0]count_ADC_r=0;

reg[15:

0]fir_in_data_l=0;

0]fir_in_data_r=0;

0]ADC_data_l=0;

0]ADC_data_r=0;

wire[15:

/////ADCdataserialtopararrel

always@(posedgeAUD_BCLK)

begin

if(AUD_ADCLRCK)

begin

ADC_data_l[~count_ADC_l[3:

0]]<

=AUD_ADCDAT;

count_ADC_l<

=count_ADC_l+1;

if(count_ADC_l==15)

begin

fir_in_data_r<

=ADC_data_r;

count_ADC_r<

=0;

end

end

else

ADC_data_r[~count_ADC_r[3:

count_ADC_r<

=count_ADC_r+1;

if(count_ADC_r==15)

fir_in_data_l<

=ADC_data_l;

count_ADC_l<

end

end

//////////////////////////////addedbysunshine(end)

图4串并转换

(2)AUDIO_DAC重新连接

⏹AUDIO_DAC增加了两个输入fir_in_data和fir_out_data(已在第二步完成)

⏹将串并转换的数据送给fir_in_data,如下图所示

图5重新对Audio_DAC进行元件例化

至此,我们将ADC和DAC都已连接好。

此时可以听到电脑播放器播放的音乐了。

三、FIR滤波器的设计

(1)启动FDATool(两种方式)

1CommandWindow

在命令窗口输入fdatool:

2通过菜单项打开

具体位置:

Start->

Toolboxes->

FilterDesign->

FilterDesign&

analysisTool(fdatool)

3设置滤波参数

①设置参数为:

带阻FIR滤波器,阶数128,汉明窗

采样频率48KHz,fc1=1980Hz,fc2=2020Hz

②点击DesignFilter

此时出现滤波器频响曲线,注意参数的配置一定要符合滤波器性能要求,在要滤除的频率处,衰减至少10db以上,这样效果才够好。

得到滤波器系数

③设计完后导出滤波参数(点击Export)

将滤波器参数导入工作区,名字默认为Num,直接点击Export

(2)将滤波参数保存为文本文件

将系数用记事本保存,这里记为coeff_116.txt

4、FIR模型的建立

(1)完成上述操作,然后打开Simulink,调用FIR的IPCORE

①具体位置:

SimulinkAlteraDSPBuilderMegaCoreFunctionsfir_compiler_v9_0

②双击model中的fir模块进行设置,第一步Step1parameterize。

③Step1EditCoefficientSetImportedCoefficientSet

选择对应的滤波器配置文件(coeff_116.txt)后

ApplyOK

④之后的界面,参数如下:

点击finish

⑤然后点击Step2生成(Generate)

(2)导入音频文件

处理结果导出到workspace,再转存成文件

 

(3)在工程目录下生成VHDL及QuartusII工程

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

当前位置:首页 > 自然科学 > 化学

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

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