1、使用FIR滤波器实现音频滤波实验指南DSP Builder入门与使用FIR滤波器实现音频滤波-DSP Builder应用实例主要内容 1. 设计要求 2. Audio ADC/DAC配置3. FIR滤波器的设计4. Quartus II工程对DSP Builder模块的调用一、设计要求(1) 原始音乐(夹带2KHz的啸叫声)由电脑的媒体播放器播放后,经音频线连到Cyclone II EP2C70 DSP Development Board(以下简称DSP开发板)的LINE IN音频输入口,DSP开发板上音频codec对模拟音频进行采样得到数字化音频;(2) 在DSP开发平台上设计FIR滤波器滤
2、除原始音乐中的单音啸叫得到较理想的音乐,并通过DSP开发板上音频codec进行DAC转换,通过耳机收听音乐效果。二、Audio ADC/DAC配置主要步骤:(1) 在DE2_default工程上修改(2) 从Bypass模式切换到DAC模式 第一步:修改I2C_AV_Config.v在修改工程之前,下载原来的程序,用计算机播放器播放音乐并连到DE2的LINEIN输入端,用耳机可以听到效果。但是这个声音并没有经过ADC和DAC,因此并需进行修改,否则无法测试滤波器的效果。修改方法:A_PATH_CTRL : LUT_DATA = 16h08F8; 将8改为0SAMPLE_CTRL : LUT_D
3、ATA = 16h1002; 将2改为0改完后结果如下图所示:图1 修改I2C_AV_Config.v此时编译工程,将不能再听到LINEIN输入的音乐,说明修改生效了。 第二步:Step 2: 修改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采样后的输出,现将其连
4、入。图3 将FLASH_Out改为fir_in_data第三步:Step 3: 修改DE2_Default.v主要内容(1) 将ADC采集的数据进行串并转换得到并行数据(2) 将并行数据送给fir_in_data(3) ADC采集后的数据是双通道的,只需将左声道或右声道送给fir_in_data(1)串并转换将以下代码加入到系统顶层文件DE2_Default.v/added by sunshine (begin)reg 3:0 count_ADC_l=0;reg 3:0 count_ADC_r=0;reg 15:0 fir_in_data_l=0;reg 15:0 fir_in_data_r=
5、0;reg 15:0 ADC_data_l=0;reg 15:0 ADC_data_r=0;wire 15:0 fir_out_data;/ ADC data serial to pararrelalways (posedge AUD_BCLK)begin if(AUD_ADCLRCK) begin ADC_data_lcount_ADC_l3: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 begi
6、n ADC_data_rcount_ADC_r3:0=AUD_ADCDAT; count_ADC_r = count_ADC_r+1; if(count_ADC_r=15) begin fir_in_data_l=ADC_data_l; count_ADC_lToolboxes-Filter Design-Filter Design&analysis Tool(fdatool)3 设置滤波参数 设置参数为:带阻FIR滤波器,阶数128,汉明窗采样频率48KHz,fc1=1980Hz,fc2=2020Hz点击 Design Filter此时出现滤波器频响曲线,注意参数的配置一定要符合滤波器性能要
7、求,在要滤除的频率处,衰减至少10db以上,这样效果才够好。得到滤波器系数设计完后导出滤波参数(点击Export) 将滤波器参数导入工作区,名字默认为Num,直接点击Export(2) 将滤波参数保存为文本文件将系数用记事本保存,这里记为coeff_116.txt4、FIR模型的建立(1) 完成上述操作,然后打开Simulink,调用FIR的IP CORE具体位置:SimulinkAltera DSP BuilderMegaCore Functionsfir_compiler_v9_0 双击model中的fir模块进行设置,第一步Step 1 parameterize。Step1Edit Coefficient SetImported Coefficient Set 选择对应的滤波器配置文件(coeff_116.txt)后ApplyOK之后的界面,参数如下: 点击finish然后点击Step2生成(Generate)(2) 导入音频文件处理结果导出到workspace,再转存成文件 (3) 在工程目录下生成VHDL及Quartus II工程
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1