资源简介
包含了语音采集 处理 和滤波过程 提供语音源文件
代码片段和文件信息
%设计一个通带为0.35π到0.65π,阻带下截止为0.2π,上截止为0.8π
N=40;
alfa=(40-1)/2;
k=0:N-1;
w1=(2*pi/N)*k;
T1=0.109021; T2=0.59417456;
hrs=[zeros(15)T1T2ones(17)T2T1zeros(19)T1T2ones(17)T2T1zeros(14)];
hdr=[001100]; wd1=[00.20.350.650.81];
k1=0:floor((N-1)/2); k2=floor((N-1)/2)+1:N-1;
angH=[-alfa*(2*pi)/N*k1alfa*(2*pi/N*(N-k2))];
H=hrs.*exp(j*angH);
h=real(ifft(H));
[dbmagphagrdw] = freqz_m(h1);
[HrwwaL] =Hr_Type2(h);
figure(1)
subplot(221)
plot(w1(1:21)/pihrs(1:21)‘o‘wd1hdr)
axis([01-0.11.1]);
title(‘带通:N=40,T1=0.109021, T2=0.59417456‘)
ylabel(‘Hr(k)‘);
set(gca‘XTickMode‘‘manual‘‘XTick‘[00.20.350.650.81])
set(gca‘YTickMode‘‘manual‘‘YTick‘[00.0590.1091]);
grid %绘制带网格的图像
subplot(222);
stem(kh);
axis([-1N-0.40.4])
title(‘脉冲响应‘); ylabel(‘h(n)‘); text(N+1-0.4‘n‘)
subplot(223); plot(ww/piHrw1(1:21)/pihrs(1:21)‘o‘);
axis([01-0.11.1]);title(‘振幅响应‘)
xlabel(‘频率 (单位:pi)‘); ylabel(‘Hr(w)‘)
set(gca‘XTickMode‘‘manual‘‘XTick‘[00.20.350.650.81]);
set(gca‘YTickMode‘‘manual‘‘YTick‘[00.0590.1091]);
grid
subplot(224); plot(w/pidb); axis([01-10010]);
grid
title(‘幅度响应‘);xlabel(‘频率 (单位:pi)‘); ylabel(‘分贝‘)
set(gca‘XTickMode‘‘manual‘‘XTick‘[00.20.350.650.81])
set(gca‘YTickMode‘‘manual‘‘YTick‘[-60;0]);
set(gca‘YTickLabelMode‘‘manual‘‘YTickLabels‘[60;0]);
%信号取样频率为8000HZ
[sfsnbits]=wavread(‘111.wav‘);
x=s(:1);
sound(x8000);
L=length(x);
f=fs*(0:L-1)/L;
t=0:1/fs:(L-1)/fs; %将所加噪声信号的点数调整到与原始信号相同
%Au=1
d=0.02*abs(max(x))*[cos(2*pi*500*t)+cos(2*pi*3300*t)]‘; %噪声为500和3300Hz的余弦信号
%dz=cos(0.5*pi*fs*t)‘;%载波
xz=x+d;
%pause(10);
sound(xzfs); %播放加噪声后的语音信号
X=fft(x); %求信号的频谱
XZ=fft(xz); %信号加噪后的频谱
figure(2)
subplot(211);plot(tx)
title(‘未加噪的信号‘); xlabel(‘time s‘);ylabel(‘幅度 ‘);
subplot(212);plot(txz)
title(‘加噪后的信号‘); xlabel(‘time s‘);ylabel(‘幅度 ‘);
%subplot(313);plot(tx2)
%title(‘调制后的信号‘); xlabel(‘time n‘);ylabel(‘fuzhi n‘);
figure(3)
subplot(211);
plot(fabs(X));
title(‘原始语音信号频谱‘);
xlabel(‘频率(单位:Hz)‘);
ylabel(‘幅度‘);
subplot(212);
plot(fabs(XZ));
title(‘加噪后的信号频谱‘);
xlabel(‘频率(单位:Hz)‘);
ylabel(‘幅度‘);
y = fftfilt(hxz);
Y=fft(y);
sound(3*yfs);
figure(4)
subplot(211);plot(t3*y)
title(‘滤波后的信号‘); xlabel(‘time s‘);ylabel(‘幅度‘);
subplot(212);plot(fabs(Y));
title(‘滤波后的信号频谱‘); xlabel(‘频率(单位:Hz)‘);ylabel(‘幅度‘);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 427 2011-06-16 21:10 yuyincaiyang.m
文件 66452 2011-06-16 22:04 111.wav
文件 307198 2011-06-16 22:04 112.wav
文件 55308 2011-06-16 22:04 113.wav
文件 67839 2011-06-16 20:19 12312.wma
文件 2641 2011-06-16 22:34 BPF.m
文件 1387 2011-06-16 22:42 freFIR.m
文件 769 2011-06-12 01:02 freqz_m.m
文件 138 2011-06-12 00:09 Hr_Type2.m
----------- --------- ---------- ----- ----
502159 9
- 上一篇:matlab计算图像间的相似度程序
- 下一篇:重频参差信号matlab仿真程序
评论
共有 条评论