音频降噪Matlab仿真(3页).doc
-音频降噪Matlab仿真-第 3 页数字信号处理大作业班 级: 1401012_ 姓 名: 齐翔奡 _ 输入信号的时域波形及其功率谱密度:叠加噪声后的音频信号的时域图形及功率谱密度:经过带通滤波器的音频信号的时域和功率谱密度:程序解读:clc;clear all;close all; wav,fs=audioread('GDGvoice8000.wav');t_end=1/fs *length(wav); % 计算声音的时间长度Fs=50000; % 仿真系统采样率t=1/Fs:1/Fs:t_end; % 仿真系统采样时间点% 利用插值函数将音频信号的采样率提升为Fs=50KHz wav=interp1(1/fs:1/fs:t_end,wav,t,'spline');% 设计300Hz3400Hz的带通预滤波器H(z) fenzi,fenmu=butter(6,300 3400/(Fs/2);nt = wgn(1,length(t),0.1); % 噪声nt=nt/(max(abs(nt);%归一化噪声wav_noise = wav + nt;% 对音频信号进行滤波 wav_after = filter(fenzi,fenmu,wav_noise);figure(1); subplot(2,1,1); plot(wav(53550:53750); title('语音信号时域波形');axis(0 200 -0.3 0.3);subplot(2,1,2); psd(wav, 10000, Fs);title('语音信号功率谱密度');axis(0 25000 -20 10);figure(2); subplot(2,1,1); plot(wav_noise(53550:53750); title('加噪声后的语音信号时域波形');axis(0 200 -0.3 0.3);subplot(2,1,2); psd(wav_noise, 10000, Fs);title('加噪声后的语音信号功率谱密度');axis(0 25000 -20 10);figure(3); subplot(2,1,1); plot(wav_after(53550:53750); title('滤波后的语音信号时域波形');axis(0 200 -0.3 0.3);subplot(2,1,2); psd(wav_after, 10000, Fs);title('滤波后的语音信号功率谱密度');axis(0 25000 -20 10);sound(wav/max(wav), Fs); % 播放解调音频sound(wav_after/max(wav_after), Fs); % 播放解调音频wavwrite(demod_out,Fs,'SSBDemod_OUT.wav'); % 保存输出信号