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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

[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;

相关文档
最新文档