DSP实时音效处理实验_第1页
DSP实时音效处理实验_第2页
DSP实时音效处理实验_第3页
DSP实时音效处理实验_第4页
DSP实时音效处理实验_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验一实时音效处理实验一、实验目的1. 掌握VisualDSP+调试工具的使用2. 熟悉FIR滤波原理3. 了解Matlab的FDATool工具箱设计 H参数的方法二、实验内容学习FIR滤波的工作原理,了解音频的频域特性;结合实时采集的音频的数据,对实时音频进行FIR滤波处理;掌握DSP Run-Time Library库的FIR滤波函数使用方法;学习在Matlab 的FDATool工具箱下设计窗形。配置DSP实验板实现实时的音频数据的采集;把得到的音频数据进行实时的FIR滤波,并把处理后的数据进行实时的音频播放;利用FDATooI工具箱进行FIR的H参数的设计。三、实验设备及工具硬件:DSP

2、实验板1(或DSP实验板2)、仿真器、音频连接线、耳机软件:VisualDSP+四、实验原理及说明1. FIR滤波的基本原理参见“ FIR滤波器实验”。2. DSP Run-Time Library 关于 FIR 滤波的 API 函数(1) 数据格式在 DSP Run-Time Library里应用的数据格式:fract16 和 complex_fract16 等等。fract16数据类型用来表示带有1位符号位和15位小数位的数据。使用这种格式定义的数据通常被称为“ 1.15 ”数据。对于定点DSP乘法运算,硬件支持16bit整数乘法和1.15型小数乘法,这种乘法在一个时钟周期内完成。对于非1

3、.15小数的乘法运算则需要多个时钟周期完成。DSP Run-Time Library库里大部分使用fract16,这对于数据处理的效率有很大 提升。下面是 DSP Run-Time Library库对 fract16 和 complex_fract16 的定义:typedef short fract16;#define FRACT16_BIT 16/* bits in a fract16 */#define FRACT16_MAX (fract16)0x7fff /* max value of a fract16 */ #define FRACT16_MIN (fract16)0x8000 /

4、* min value of a fract16 */typedef struct complex_fract16 fract16 re, im; complex_fract16;F面是 VisualDSP+的 Help 文档对 fract16 的介绍:IThta 亡工血匸丄占 tR口口prQuont!: a cingfa lti-txt inad FrjEtKin VjIUo-3 whila tfic feict3 2 口口 nmcMlx i 32-b< mned kjdMnftl亦鬲m ror ql*. -1 o.t ld).Huutever,fia t<. ce the pr

5、ecEKin. TTithi* afe riDt ntnnsic data ?turaq& fomats, tyie金吃 zllTiOlv OTBdEljndfif atuiEt fF严倨畫】M< T4KXl£jrhe f t 1- ati nai日FnraH厂n i:inF -4、D器卉 用茜那申 刚FT”卄 伽 fr.if T 6 iwirrf fruriS初 Ftj( tirakJ 1.1»ISh Ml>2l1IJ1E JU-ii*"* I 门22法22BitoIDh口rafora, tn raprsEDit Qk25 in CzaclL

6、E tha Hs-K rDpTva-;;Qrit:iDi ijvisuI吐 ba* DDUO (2 J. 4口- U.E3 in< £iacc32 the HEX *w口uki h曰 OKeOOD 1040 (-1+2*Z For -lj tha HEM rBprBSsntBtinn inwaiJd be flkSOCn (*1). fifectlC and f £(&£13£ cannoit regsne>EHt .1 exarti but ther9QRtQyg 卜曲 QMVtSf 愉SE4V-Z1&. Dr DK7

7、63;Xt mt阳£7己rtigna i* 运忖d 曰:m=r日 tiM which is rwq fiectWB P3cfcd into 32 bts > Ihe twq bytes belong ta one erac-it. and the second nuvo byfce& tielkin ta the utF bi There are also LuilL-in r'urpjQCifig国o L wi山直止卩弓 别唐*r I5U4ID5+ 也!5 口"4 C nl'nr *lv!Hd kjbr/f Kinu W hr &la

8、.E kfi n Pr : ra b w 肌山丹n:a臭皿2DC6I " ' >!' * Z" 2hit 1:亠 B I.LA kl 1 M巴 «Jigl(2) 使用的头文件filter.h使用方式:#i nclude <filter.h>(3) FIR使用的数据介绍FIR的输入数据,数据类型为:fract16FIR的输出数据,数据类型为:fract16滤波过程中使用的FIR的状态数据,数据为 fir_state_fr16typedef struct fract16 *h,/*filter coefficie nts*/fract

9、16 *d,/*start of delay line*/fract16 *p,/*read/write poi nter*/int k;/*nu mber of coefficie nts*/int l;/*i nterpolati on /decimati on in dex */ fir state fr16;滤波过程中临时数据,数据类型为:fract16(4) FIR使用的API函数FIR参数初始化fir_in it(state, coeffs, delay, n coeffs .in dex);#defi ne fir_i nit(state, coeffs, delay, n co

10、effs .in dex) (state).h = (coeffs); (state).d = (delay);(state).p = (delay);(state).k = (n coeffs); (state).l = (in dex)FIR滤波函数void fir_fr16(co nst fract16 in put, fract16 output, i nt len gth, fir_state_fr16 *filter_state); 下面是 VisualDSP+勺 Help 文档对 twidfftrad2_fr16 的介绍:on匚丄ude Lltei .£: yuLdfl

11、at L丄(5ImgEh,LL 丄匚 er_szac-s):rr(yci6 int llI:=SL.SLe_lTl£tppedjef structtTh.*dPfracrl6 *prl &t k :LAI卜 SLtSMW Erie?Ths nctiDriths 1口 口vnnu strucuurs t口 m=intain the stats 口F tha hltsr.filEw rDtefi fitnti*/* st-Qct &E EuUsy liivc八 EEBiaiE-lce pdIhleel严 Emt ee &e raeceiei ents*7/* cp

12、cl.! ion/dt k; i i qa iftdix *7H 置HaimThs rit_rti funiior imjileiineiti a finite inpu se re;!:pcri5e (F'R) filter,什吧 fucrtiMi 'gierattf tbn liHzt' tc resprii# ct tk< inpur diu and i«r«r Wit *«ultin nutnut venter qucs-uc. The n'jmbsr 口F input 53ecjI曰古 and 廿旧rwth of t

13、h曰 output vector are 宣口edfed 怖 the aroument丄旳呼The fiLncti nc Emirtmin 三 te HiftE-r state in the Etructur&d >ariiBble filter atsts, which mijst se declass and irutis before ealltng th* tuc&c-n. I he nacr-o £二上 _iixit7deriHed in ths Qlwx. b hvjdurfika,咗 jvdikL g Is irvtiahzd th a strud

14、uni.it is MHned a&:,號rm轉 ti£jxiud靳 cc>e£j:Sj 冶 qcmMu UlInkj、Wssl rL » (CQiilffll J (iULLlfI rd " (AtltaVl I SMM| rp (J 1(OTrel -K * (&coitf£e| ?(MMt电I1 "lUm? i:I arocterttic: of the! filter fcid -isbar- % optiand, amj s i on) .jre ler'erder.r ijoor rf p n

15、unfilter caefficents arid th?ir vahes-A po liter tc the cuerideints slh oiJd tie stored in and rtiteT_jtfiM->i: should be set ta the number of coeffirientsEazh filter ahou1 d hav号 its on ddar line wqich is. a sector erf t抽口已 tr«n3i6 cind whose lenixh is equal to ttie number of E0*Hfd«rM

16、. The wetturdtauild be* intEiBll EhamEl m 2ero and should nor ntSi&rwi be mocifil hv tfri旨 uss-r pranniTi The r&umrrhr f i irr 弓shcul d be sat to tf ja start oc thm dgla linEi snd th b Functigri ljbs lllier_a36Le-?3j tc kEep tract; of its current po5rtion within ihe vetfcor.The: sru'-bJi

17、r-B iTierrber £1j 1 ts 门口t used bv £r_££15Thi弓 lie d is narrndllv sfft to君 n interpolatiofi/de clmation <ndeK before oaSma eMw the riE_iattTp_rriSi or :f 山虹匚 izi fr 16 fyncnijonE型qcw細pf科尸iitfl =迟加 j广 ¥ll- Jj dbf f = Q L 2L 】.-clYhiS re k-juuu.1 yuuijjutQggn-1 D toVls-iial

18、Ef&P*-»- 4-5 匚/匚+斗 Crif- |ij|l"! Hlrij L.r*呷 Mbpn HJil foi1 21-AC.h Pra : QF£ 农Iri引d* 4.D. Af nl ZDXlgj2nOn 出川川.q p*wui . Th l.p 卜 J N ujj lib dlj a.|ti i*jtf ei ITO3. 利用Matlab的FDATool工具箱设计FIR滤波的H参数(1) Matlab 的 FDATool 的介绍FDAToo( filter design & analysis tool )是matlab信号处理工具箱里专

19、用的滤波器设计分 析工具,matlab6.0以上的版本还专门增加了滤波器设计工具箱(filter design toolbox )。FDAToo可以设计几乎所有的基本的常规滤波器,包括fir和iir的各种设计方法。它操作简单,方便灵活。FDATool界面总共分两大部分,一部分是design filter,在界面的下半部,用来设置滤波器的设计参数,另一部分则是特性区,在界面的上半部分,用来显示滤波器的各种特性。design filter部分主要分为:filter type (滤波器类型)选项,包括 lowpass (低通)、highpass (高通)、bandpass (带 通)、bandsto

20、p (带阻)和特殊的fir滤波器。design method (设计方法)选项,包括iir滤波器的butterworth (巴特沃思)法、chebyshev type i (切比雪夫i型)法、chebyshev type ii (切比雪夫ii型)法、elliptic (椭圆滤波器) 法和fir滤波器的equiripple法、least-squares (最小乘方)法、window (窗函数)法。filter order (滤波器阶数)选项,定义滤波器的阶数,包括specify order (指定阶数)和minimum order (最小阶数)。在specify order中填入所要设计的滤波器

21、的阶数(n阶滤波器,specify order = n-1),如果选择 minimum order贝U matlab根据所选择的滤波器类型自动使用 最小阶数。frenquency specifications选项,可以详细定义频带的各参数,包括采样频率fs和频带的截止频率。它的具体选项由filter type选项和design method选项决定,例如 bandpass (带通)滤波器需要定义 fstop1 (下阻带截止频率)、fpass1 (通带下限截止频率)、fpass2 (通带 上限截止频率)、fstop2 (上阻带截止频率),而lowpass (低通)滤波器只需要定义fstop1、f

22、pass1。采用窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定的,所以只 需要定义通带截止频率,而不必定义阻带参数。magnitude specifications选项,可以定义幅值衰减的情况。例如设计带通滤波器时,可 以定义wstop1 (频率fstop1处的幅值衰减)、wpass (通带范围内的幅值衰减)、wstop2 (频 率fstop2处的幅值衰减)。当采用窗函数设计时,通带截止频率处的幅值衰减固定为6db,所以不必定义。window specifications选项,当选取采用窗函数设计时,该选项可定义,它包含了各种 窗函数。(2) Matlab的FDATool的使用步骤

23、 打开 Matlab。用鼠标左键依次点击开始->所有程序-> MATLAB 6.5 -> MATLAB 6.5如图所示:5liH dlw I flr-4丁再阳 0 lri44-«lI弓'_tfeC厂“話f 丄e 闻 » | 哥 ihLJ *如果Matlab打开正常,会看见如下窗口:打开FDATool工具箱用鼠标左键单击"Comma nd Win dow ”的" >>”位置。然后用键盘输入"FDAToof,输入完,按回车键。如图所示:Ci&rnrTM nri WmrliwUsiTif 7«o

24、l*boi£EarinfTo 沪 E x<L u"!nil. 3,b1 hc k "IHATLKB |«LpA £ran LX* Kslp nBEL*a.Matlab打开FDATool工具箱,会看见如下窗口:选择“滤波器类型”在FDATooI的窗口的左下角找到“ Filter Type”,这里可以选择lowpass (低通)、highpass(高通)、bandpass (带通)、bandstop (带阻)和特殊的 fir滤波器。在此选择lowpass (低 通),鼠标左键单击Lowpass前面的选项按钮。如图所示:I Filter1 Ba

25、ndpassGancfctop广Differentiator选择“设计方法”在FDAToo的窗口的中下角找到“Design Method ",这里可以选择iir滤波器的butterworth(巴特沃思)法、 chebyshev type i (切比雪夫i型)法、 chebyshev type ii (切比雪夫ii型) 法、elliptic (椭圆滤波器)法和 fir滤波器的equiripple法、least-squares (最小乘方)法、 window (窗函数)法。在此选择 fir滤波器的window (窗函数)法。如图所示:IIS Window二鸭嗟皿|21|2|牛lEquif

26、ippleI Leaat-sauaresStep 2Step 1Pth-nornnEquii“Step 3观察FDATool工具箱窗口的中下部分会有改变,会看见如下窗口:FifrM InrlRrSpecify order: Minimum ordefDensity factor|16设置完“ Design Method ”之前!_Filtei OlderSpecif order茴 Mirwriurri crderL 0 ption iScale passbsndWindow:Function nam(Beta设置完“ Design Method ”之后选择“滤波器阶数”在FDATooI的窗口的

27、中下角找到 “Filter Order ",这里可以选择 specify order (指定阶数)和minimum order (最小阶数)。在此选择specify order,并且阶数为128。如图所示:Filro?df Step 1|(雷specify mder:广 Minimum orderWindowStep 2BartlettEaiilfilUjanriinQStep 1Functiorr name:Parametef选择“窗型”在FDATooI的窗口的中下角找到 “Window ”。在此选择 Blackman。如图所示:ViElackfrian-kaiis Bohman

28、ChebyshevFlat TopGauiarHammingHann 卜 aiseiNuttallStep 2ParzenRectangular T riangJarTukey User Defined设置频带各参数在FDATooI的窗口的中下角找到"Frenquency Specifications”,这里的Fs表示采样率;Fc表示截止频率。在此Fs为16000; Fc为800。如图所示:L Frequency SpedHcattonsUnits: |hs三Fs:(16000设计滤波器在FDATooI的窗口的中下角找到“Design Filter” ,用鼠标左键单击此按钮。如图所示

29、:Design Filter单击按钮完成之后,会发现按钮变为灰色。在FDAToo I的窗口的右上角找到“ FilterSpecifications ”,会发现里面内容有变化。如图所示:点击按钮之前点击按钮之后导出FIR的H参数在FDATooI的窗口的菜单栏中,用鼠标左键依次点击Targets->Export to Code ComposerStudio (tm) IDE。如图所示:之后,会出现 Export to C Header File窗口。如图所示:Sig ned(Data type to in exportE Kpcrt suggestn ub le-pr ecisionStep

30、 1 ting point /jgned 32-bit integerStep 2在Data type to use in export中选择“ Export as:”选项按钮。在右侧的下拉框中选 16_bit integer ”。如图所示:il iilttilel01UnsignedS-bit fLStep 3 Unsigned 1Unsigned 8-bit in| _ D oublle-precision floatSin口lepeci血ri float上述配置完成后用鼠标左键单击“OK”按钮。会出现 Save as窗口。如图所示:选择一个路径保存文件即可。保存完毕后,可能会弹出FDAT

31、ool Error的窗口,点击 0K即可。(这里的FDATool Erro提示对生成的FIR的H参数没有影响)用文本工具查看生成的文件。如图所示。文件里会定义两个常量。const int BL = 129;为FIR的H的阶数。const int BL =129;是FIR的H参数。五、实验程序设计1. 实验内容描述此实验是在实时音频采集、回放基础上,实现音频数据的实时FIR滤波,进而改善了实时音频的音效。实验是在基础实验中 Talk Through实验的结构上加以扩展实现的。它实现了实时的音频数据的采集、回放;采集音频数据进行实时FIR滤波,之后将处理后的音频数据输出;LED显示系统状态和 FI

32、R滤波参数选取的指示。(利用Matlab的FDATool工具箱实现自主的 FIR滤波器设置。)Talk Through实验主要是对 ADSF-BF561软硬件初始化,之后利用两条外设DMA实现音频的全双工的输入输出。利用DMA可以减少内核的负载,在后台进行数据搬移。音频的输入输出缓冲区是采用乒乓双BUFFER模式,当DMA搬移完成了一组指定长度的数据后会引发中断,进行BUFFER的切换。DMA的音频数据搬移实现的。外设FIR滤波器对此数据进行滤波,最后FIR滤波是在进入 DMA中断中进行的,结合外设 DMA将音频采集的数据搬移值指定空间后,利用 再由外设DMA将滤波后数据输出。程序中有7组FI

33、R滤波参数。每组参数对应到一个LED( LED1LED7中某一个)。当前使用的滤波参数对应 LED会点亮,其余熄灭。参数的切换是通过标志位的方式选取的;在程序中有一个全局变量,用于指示滤波参数的选择。LED0是程序状态指示灯,当程序正常工作时,它会以一定的时间频度闪烁。2. 程序整体流程u:r>'iN-jb3. 实验主要设计说明(1) 系统初始化将系统初始化是对音频的采集和回放进行初始化,参见基础实验的Talk Through。(2) FIR初始化定义进行FIR的输入、输出和FIR参数数据,并对参数初始化。其中FIR的输入、输出和FIR参数数据为:RAW PCM BUF A/ R

34、AW PCM BUF CFIR的输入数据RAW PCM BUF B/ RAW PCM BUF DFIR的输出数据fir state fr16 fir s;FIR的参数fract16 fir delayDELAY SIZE;FIR的参数fract16 fir hBASE TAPLENGTH;FIR滤波的H参数FIR滤波在DMA音频采集完成中断中进行FIR滤波。修改FIR滤波的H参数fir_h_table.c中有7组FIR滤波的H参数。利用变量切换 H参数,每一组参数对应一个LEDb六、实验步骤1. 硬件连接(1) 用音频连接线,将 PC机音频输出端口与 DSP实验板音频输入端口连接(2) 耳机与

35、DSP实验板输出端口连接(3) 将仿真器与DSP实验板的JTAG接口连接打开电源开关2. 打开FIR_for_SPORTS实验的工程,加载程序。(1) 启动 VisualDSP+ 集成开发环境,确认Session 状态(EZ-KIT Lite 或 Emulator)(2) 打开“ FIR_for_SPORTS.dpg ” 工程组打开方式:在VisualDSP+集成开发环境的菜单栏,用鼠标左键依次点击 File->Open->欣:Project Group。在 Open Project Group 选择如下文件:FIR_for_SPORTS.dpg(3) 将 FIR_for_SPOR

36、TS 工程设置为 Active Project如果FIR_for_SPORTST程已经是 Active Project,则不需要此操作。在VisualDSP+集成开发环境的菜单栏,Project->Set Active Project中选中“FIR_for_SPORTS工程。(4) 重新编译并加载工程3. 实验代码分析(1) 变量定义FIR滤波应用到的数据打开CoreB工程的Sys_Func.c文件,观察33-35行。如图所示:ate_fr15 fir sfctctig fir htBASE TiPLIlGrHl ; fractlGDELAY.SIZEfir_state_fr16 fir

37、_s;用于维护滤波过程中的FIR的状态,此结构体必须在初始化中定义。fract16 fir_hBASE_TAPLENGTH用于存放 FIR的 H 参数。fract16 fir_delayDELAY_SIZE用于存放滤波的临时数据。FIR滤波应用到的宏定义打开CoreB工程的sys_res.h文件,观察33-35行。如图所示::扣#iris EUFFER SIZE <RAV FOR ULF LEN:1 fldsfine BASE_TAPLEN(;TH 129. (def ins IELaY_SI7E BASE_TaPLEHC-TH这些是FIR滤波中应用到的宏定义FIR滤波的H参数打开Cor

38、eB工程的fir_h_table.c文件,观察整个文件,此文件中有7组H参数。(2) 初始化代码打开CoreB工程的Sys_Init.c文件,观察206-218行。如图所示:SK'KTUDuIieiJ-LsLC DP h d fir.si? = fir d-sly:k IU55_rAFLBET-:.r>wivcrp;r±xe_3i_D1| six*口E (:£丄工_&】,-elfrtrt fir h. = D: 一第210-213行是将FIR的参数置入fir_state_fr16结构体中。也可选用fir_init函数完成第 215 行 memcpy(f

39、ir_h, fir_h_01, sizeof(fir_h);是选用 fir_h_01 这组 H 参数。(3) 音频实时FIR滤波代码打开CoreB工程的Sys_Func.c文件,观察89-107行。如图所示:EX IN7FHKITFT KaNDR (.ortO RI9C pLJU2_a_lKQ_S7A7UG = .zOl;<)2 if (SPORinRuff-rF = 0)沁1Stiii_l'NlS;ortD_Rn 5taT<tMJCSpartDLT«姑匹弐兀班厘) fzr 珀:ECft:也ctlE *RAft_Pt>j3UF丄 SFCjMaBirffsrF

40、lag =.:I 2|=lc01ISiHTt PMA t rD 血:克训 POfl TO A) Stnrt_MA SportD_"- :.C ':<H(匚 fle_ftLB(7fcartit *' Kk匕?CH_BL'H_15, SFAr.TOfliTffPtFlag = (1;106 FLU. “ Tlhnf */八 SFORTDftftSJSE* 时 /* SFORIDTli* 后动 */ CfraztLo +) bAN_3V;Jl.fi'JF'_Cd BITFEtt. il £Ed fcf ir_5_ ;Z* K3rbuf

41、&nfi>a */"StTiSTTIBHS斥茨 *y/- SPOT啲麦逹启苗讦 (tract Li )hAN_R:H_bJE_LiJ BLKFEK SIH, ki lt_s);/* 吏tfbuf*/fir_fr16(fract16 *)RAW_PCM_BUF_A, (fract16 *)RAW_PCM_BUF_C, BUFFER_SIZE, &fir_s); 是进行FIR滤波。数据的输入端为音频采集的 PCM数据,输出端为待音频回放的 PCM数据。 切换FIR滤波的H参数的代码打开CoreB工程的Sys_Func.c文件,观察129-158行。如图所示:129i

42、f (soUct fit h x 1) KAIacLdct fir h <= 7;'no131刊LtCsplect_f Lr_EJ132133ClfS 1:114nencp/ (f i rh,sineflf Lfirh) J :Lbteak:136oue 2i13i7nenrpy(fir 扎siaeof-130b 匸 go£ .1J0cue 3;uonmrp7(fir_h.siseof;141bt&ak.142CMS 4;U3nmcpytfir %siseofffii.hJ);144tug 品.145C<53C 5:MEnGncpytfn 扎siseofr

43、fir=h)l;14.7bteak;应亡母£皀 G:149nmffBytfir 11siscof;ISO;151匚垃旦7:152nrnGpytfirJ-usiieof.153break:L5dI155tem ledl ! "*(1 i(Sj :1566= ' (1 <<3Glcirf_f Lt hl:157salact fnr h = 0;158 select_fir_h分别对应着 的H参数。这七组参数分别对应着LED1-LED7如图所示:LED1-LED7Power LEDReset LEDFIR的7组H参数。通过修改select_fir_h的数值来改

44、变FIR滤波fract16 fir_h_01BASE_TAPLENGTHfract16 fir_h_02BASE_TAPLENGTHfract16 fir_h_03BASE_TAPLENGTHfract16 fir_h_04BASE_TAPLENGTHfract16 fir_h_05BASE_TAPLENGTHfract16 fir_h_06BASE_TAPLENGTHfract16 fir_h_07BASE_TAPLENGTH4. 程序运行与调试(1)利用Plot调试窗口分析FIR滤波的H参数如下查看的H参数为fir_h_02这组参数,此查看方法同样适用于其他H参数的查看。利用Plot调试窗

45、口查看fir_h_02的实域图形打开Plot调试窗口方式:在 VisualDSP+n集成开发环境的菜单栏,用鼠标左键依次点击View->Debug Windows->Plot->New,如图所示:EismseniLly7 匸 X J 3孑 Expreasi 阳CJ.1亞心kt*4 4 4 i Mi Mi 4 » M WTA)忑 iUkvjv .,BTiZ晴弁皿甲L ACn>fii r i 由年m ewerFipelLie iiever肚 H nr*pt:< VEZSIZE; FF7邛 rt (:teiLp_ze III址之后,会出现如下窗口:按如下信息配

46、置窗口参数:Addressfir_h_02Count128DataShort然后,用鼠标左键单击 Add按钮,0K按钮。如图:最后,会观察到如下 PCM波形:在Plot调试窗口查看fir_h_02的频域图形STEP 1用鼠标右键单击Plot的调试窗口的图形区,如图所示。STEP 2 选择 Modify Sett in gs,如图所示:会弹出 Plot Sett in gs 窗口。STEP 3设置参数在 Plot Sett in gs 窗口上,选择 Data Processi ng,再选择 FFT Mag nitude ,在 Sample rate文本框中输入16000,最后用鼠标左键点击确定。

47、如图所示:1此时fir_h_02的Plot调试窗口显示的是 fir_h_02的FFT分析后的频点能量。如图所示:观察图形可知:此 FIR滤波的H参数为一个低通滤波器。用上述方式自行查看fir h 01的频域图形如图示所,可知fir_h_01位低通滤波的 H参数,其截止频率为:4000Hz(2)观察LED,确认程序正常状态运行程序双核同时运行程序操作方式:在 VisualDSP+4集成开发环境的菜单栏,用鼠标左键依次点击DebugMultiprocessor->Run。如图所示:观察LED0发现LED0以一定频率闪烁。(3) 实现 Audio 的 Talk Through 的功能PC 机播

48、放 Danny_Wright.mp3 文件文件在实验文件夹的 sample_audio子文件夹中。调整PC机音量,使音量适中。在默认状态下,FIR滤波的H参数采用的是fir_h_01。(4) 实时滤波前后的音频对比PC机播放scan.wav音频文件,用耳机听取音频文件在实验的文件夹的 sample子文件夹中。scan .wav文件时PCM的扫频的信号。 将耳机直接与PC机连接,听取sca n.wav音频文件的原始声音结合fir_h_01的H参数的频域图形,分析FIR滤波效果。Unttied:it i分析可知,将一部分高频的信号滤出。切换FIR滤波的H参数H参数切换为fir_h_02。将程序Ha

49、lt修改select_fir_h变量STEP 1 打开 Expressions调试窗口,查看 select_fir_h 变量。打开方式:在VisualDSP+集成开发 环境的 菜单栏,用鼠标左键依次点击View->Debug Windows->Expressions 。在 Expressions 调试窗口输入 select_fir_h。如图所示。Device 0. b. Expressicns leibl.HineY-sliiciT_hDirOOnCiriOnoSTEP 2 将 select_fir_h 的值改为 2 运行程序,观察 LED会发现LED1熄灭,LED2点亮。如图所示

50、:OO "LED1点亮OO LED1熄灭LED2点亮用耳机听音频信号 会发现,大部分音频被滤波器滤除。(6)利用Matlab生成H参数 FDATool工具箱生成H参数按照上面Matlab的FDAToo工具箱使用说明生成一组H参数。参数如下:filter type (滤波器类型)bandpass (带通)design method (设计方法)fir滤波器的window。filter order (滤波器阶数)specify order (指定阶数)128window(窗型)Blackmanfs(采样率)16000fpass1(通带下限截止频率)600fpass2 (通带上限截止频率)1600如图所示:1. 1.|1: KE XlEV J tin 11 4宀ifnt.J- 1tnl .Il 1-n-dL f ria i'jl|M.£| 1*缶 L bALl.?X8 I f MiMi: LftdliFhh肿仙解R/p酣! dtFnraercviniJ-id31 b-<!i FIR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论