数字信号处理实验7

更新时间:2023-11-29 21:36:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数字信号处理实验

题 目 数字音频信号的分析与处理 班 级 姓 名 学 号 日 期 2015.12

一、实验目的

1.复习巩固数字信号处理的基本理论; 2.利用所学知识研究并设计工程应用方案。

二、实验原理

数字信号处理技术在音频信号处理中的应用日益增多,其灵活方便的优点得到体现。分频器即为其中一种音频工程中常用的设备。

人耳能听到的声音频率范围为20Hz~20000Hz,但由于技术所限,扬声器难以做到在此频率范围内都有很好的特性,因此一般采用两个以上的扬声器来组成一个系统,不同的扬声器播放不同频带的声音,将声音分成不同频带的设备就是分频器。下图是一个二分频的示例。

分频器 High-pass 声音 输入 Low-pass 低频放大器 图8.1 二分频示意图

高通滤波器和低通滤波器可以是FIR或IIR类型,其中FIR易做到线性相位,但阶数太高, 不仅需要耗费较多资源,且会带来较长的延时;IIR阶数低,但易出现相位失真及稳定性问题。

对分频器的特性,考虑最多的还是两个滤波器合成的幅度特性,希望其是平坦的,如图8.2所示:

高频放大器

图8.2 分频器幅度特性

由于IIR的延时短,因此目前工程中大量应用的还是Butterworth、Bessel、

Linkwitz-Riley三种IIR滤波器。其幅频特性如图8.3所示:

图8.3 三种常用IIR分频器的幅度特性

巴特沃斯、切比雪夫、椭圆等类型的数字滤波器系数可通过调用 MATLAB 函数很方便的计算得到,但 Bessel、Linkwitz-Riley 数字滤波器均无现成的 Matlab 函数。

为了使设计的 IIR 滤波器方便在 DSP 上实现,常将滤波器转换为二阶节级联的形式。 设计好分频器后,为验证分频后的信号是否正确,可用白噪声信号作为输入信号,然后 对分频后的信号进行频谱分析。

三、仪器设备

计算机、matlab软件

四、实验内容

1. 任意选取两段声音信号(一段为语言或音乐信号,另一段为白噪声信号) ,分别作以下分析和处理:

(1)分析信号的采样率、量化比特数; (2)画出时域波形图;

(3)画出幅频特性和相频特性。

2. 分别用 FIR 和 IIR 数字滤波器,设计一个二分频的数字分频器,已知系统的采样率 为 48000Hz。

(1)分频点为 2000Hz;

(2)要求给出类似图 7.3 的幅频特性图,分频器的幅频响应平坦,在分频点处最多不 能超过 3dB 的偏差;

(3)滤波器必须是二阶节形式; (4)给出相位特性图;

(5)用频谱分析的方法验证设计好的分频器; (6)对选用的两种类型的滤波器效果进行对比。

五、数据记录

程序:

(1)IIR 数字滤波器(巴特沃思滤波器)设计二分频的数字分频器

clear all;close all; clc; fs = 48000;fc = 2000;

wc = 2 * fc / fs;N = 4; %滤波器参数

[BL,AL] = butter(N,wc); %计算巴特沃思低通滤波器系统函数B,A系数

[BH,AH] = butter(N,wc,'high'); %计算巴特沃思高通滤波器系统函数B,A系数 [magH,wH]=freqz(BH,AH); magH=20*log10(abs(magH)); fH=wH*fs/(2*pi); figure(1)

semilogx(fH,magH); hold on;

[magL,wL]=freqz(BL,AL);

magL=20*log10(abs(magL)); fL=wL*fs/(2*pi);semilogx(fL,magL); B=conv(BL,AH)+conv(BH,AL); A=conv(AL,AH); %并联 [mag,w]=freqz(B,A); %计算巴特沃思滤波器并联系统幅频特性 mag=20*log10(abs(mag));

f=w*fs/(2*pi);semilogx(f,mag);

legend('巴特沃斯滤波器');title('IIR分频器的幅度特性'); xlabel('频率(Hz)');ylabel('幅度(dB)'); axis([100 48000 -60 10]); grid on

%分析巴特沃斯滤波器及其设计的分频器的幅频特性、零极点分布 figure(2)

subplot(2,2,1); zplane(BL,AL);

title('巴特沃斯低通滤波器的零极点分布') [HL,wL]=freqz(BL,AL);

subplot(2,2,3);plot(wL/pi,abs(HL)); title('巴特沃斯低通滤波器的幅度特性')

xlabel('\\omega/\\pi');ylabel('|H(e^j^\\omega)|'); subplot(2,2,4);plot(wL/pi,angle(HL));

xlabel('\\omega/\\pi');ylabel('\\phi(\\omega)'); title('巴特沃斯低通滤波器的相频特性') figure(3)

subplot(2,2,1);zplane(BH,AH);

title('巴特沃斯高通滤波器的零极点分布') [HH,wH]=freqz(BH,AH);

subplot(2,2,3);plot(wH/pi,abs(HH)); title('巴特沃斯高通滤波器的幅度特性')

xlabel('\\omega/\\pi');ylabel('|H(e^j^\\omega)|'); subplot(2,2,4);plot(wH/pi,angle(HH));

xlabel('\\omega/\\pi');ylabel('\\phi(\\omega)'); title('巴特沃斯高通滤波器的相频特性') %分频器(IIR) figure(4)

subplot(2,2,1);zplane(B,A); title('分频器的零极点分布') [H,w]=freqz(B,A);

subplot(2,2,3);plot(w/pi,abs(H));

xlabel('\\omega/\\pi');ylabel('|H(e^j^\\omega)|'); title('分频器的幅度特性')

subplot(2,2,4);plot(w/pi,angle(H));

xlabel('\\omega/\\pi');ylabel('\\phi(\\omega)'); title('分频器的相频特性') %分频器(IIR)滤波

[hB,g]=tf2sos(B,A) %调用 tf2sos 将分频器转换成二阶节形式 [xB,fs,bits]=wavread('white.wav'); X=fft(xB,1024); for i=1:size(hB)

xB=filter(hB(i,1:3),hB(i,4:6),xB);%二阶节级联形式对白噪声进行滤波处理 end

YB=fft(xB,1024); k=0:1023;N=1024; wk=2*k/N;

subplot(211);plot(wk,abs(X));xlabel('\\omega/\\pi'); title('白噪声信号频谱') subplot(212);plot(wk,abs(YB));xlabel('\\omega/\\pi');title('分频器(IIR)滤波后信号频谱')

(2)FIR 数字滤波器(巴特沃思滤波器)设计的二分频的数字分频器

clear all;close all; clc; fs=48000; fc=2000; wc=2*fc/fs; N=51;

hnL=fir1(N-1,wc,hanning(N)); %FIR低通 hnH=fir1(N-1,wc,'high',hanning(N)); %FIR高通 [HL,w]=freqz(hnL); HL=20*log10(abs(HL));

f=w*fs/(2*pi); %数字频率转模拟频率 semilogx(f,HL);

axis([100 20000 -20 10]); hold on;

[HH,w]=freqz(hnH); HH=20*log10(abs(HH));

本文来源:https://www.bwwdw.com/article/jdit.html

Top