当前位置:文档之家› 实验九 音频信号采集及处理

实验九 音频信号采集及处理

实验九 音频信号采集及处理
实验九 音频信号采集及处理

音频信号采集及处理程序代码及实验结果图:

[voice,fs]=audioread('notify.wav');%声音读取

sound(voice,fs); %声音回放

n=length(voice);%计算长度

voice1=fft(voice,n); %快速傅里叶变换

figure(1);subplot(2,1,1);plot(voice); %绘出时域波

xlabel('t');ylabel('amp');%坐标名称

title('初始音频信号时域波形');grid on;

subplot(2,1,2);plot(abs(fftshift(voice1))); %绘出原始音频信号频谱

title('初始音频信号频域波形');

xlabel('f');ylabel('amp');grid on;

t=0:1/fs:(n-1)/fs;

noise=0.05*sin(2*pi*100000*t');%100kHz正弦波噪声

s=voice+noise;%加噪后的音频信号

pause;sound(s,fs); %播放加噪的语音

n=length(s);

S=fft(s,n);%计算频谱

figure(2);subplot(2,1,1);plot(s);%画出加噪之后的音频信号时域波

title('加噪声后的音频信号时域波形');

xlabel('t');ylabel('amp');grid on;

subplot(2,1,2);plot(abs(fftshift(S)));%零频移到频谱中心后,绘制加噪

之后的音频信号频谱

xlabel('f');ylabel('amp');

title('加噪声后的音频信号频域波形');grid on;

pause;

rp=2; rs=80;

Ft=8000;Fp=1000;Fs=1300;

wp=2*pi*Fp/Ft;

ws=2*pi*Fs/Ft; %求出待设计的模拟滤波器的边界频率

[n,wn]=buttord(wp,ws,rp,rs,'s'); %低通滤波器的阶数和截止频率

[b,a]=butter(n,wn,'s'); %S域频率响应的参数即:滤波器的传输函数

[bz,az]=bilinear(b,a,0.5); %利用双线性变换实现频率响应S域到Z域的变换

[h,w]=freqz(bz,az);

figure(3);plot(w*fs/(2*pi),abs(h));%绘制IIR低通滤波器特性曲线

title('IIR低通滤波器特性曲线');grid on;

z=filter(bz,az,s); %滤波

pause;sound(z,fs); %回放滤波后的信号

Z=fft(z); %滤波后的信号频谱

figure(4);subplot(2,2,2);plot(z);%绘制低通滤波后的音频信号时域

波形

title('低通滤波后的音频信号时域波形');

xlabel('t');ylabel('amp');grid on;

subplot(2,2,1);plot(s);%绘制加噪声后的音频信号时域波形

title('加噪声后的音频信号时域波形');

xlabel('t');ylabel('amp');grid on;

subplot(2,2,3);plot(abs(fftshift(S)));%绘制加噪声后的音频信号频域波形

title('加噪声后的音频信号频域波形');

xlabel('f');ylabel('amp');grid on;

subplot(2,2,4);plot(abs(fftshift(Z)));%绘制低通滤波后的音频信号频域波形

title('低通滤波后的音频信号频域波形');

xlabel('f');ylabel('amp');grid on;

相关主题
文本预览
相关文档 最新文档