matlab关于滤波器的程序以及函数解析解析

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

信号的采集程序

[y,Fs,Nbits]=wavread('福建工程学院.wav';%读出信号,采样率,采样位数

wavplay(y,Fs;

s1=wavread('福建工程学院.wav';

y=resample(s1,80,441; %在Windows 下录制的语音信号的采样频率为44100Hz,为了能够更好的分析语音信号,将语音信号的频率重采样为8000Hz

sigLength=length(y;%语音信号长度

Y = fft(y,sigLength;%快速福利叶变换

Pyy = Y.* conj(Y / sigLength;%conj复数共轭

halflength=floor(sigLength/2;%负无穷取整

f=8000*(0:halflength/sigLength;

figure;plot(f,Pyy(1:halflength+1;

axis([0 1000 0 0.02];

xlabel('Frequency(Hz';%画出频域波形

t=(0:sigLength-1/Fs;

figure;plot(t,y;xlabel('Time(s';

噪音信号在MA TLAB中的频谱分析程序

s1=wavread('福建工程学院.wav';

y=resample(s1,80,441;

sigLength=length(y; %语音信号长度

for k=1:1:sigLength

fs=8000;

noise(k=0.005*sin(2*pi*900*k/fs;%正弦函数的噪声信号

x(k=y(k+noise(k;%噪声叠加

end

Y = fft(x,sigLength;%快速福利叶变换

Pyy = Y.* conj(Y / sigLength; %conj复数共轭

halflength=floor(sigLength/2; %负无穷取整

f=8000*(0:halflength/sigLength;

figure;plot(f,Pyy(1:halflength+1;

axis([0 1000 0 0.02];

xlabel('Frequency(Hz'; %画出频域波形

t=(0:sigLength-1/fs;

figure;plot(t,x;xlabel('Time(s';%画出时域波形

MATLAB中低通滤波器仿真程序

Fs=8000; %采样频率

N=35; %取样点数tao=(N-1/2;

wc=2*600/8000; %N是奇数h(n为偶数,采用N为奇数的I型,取样化归一频率

m=fix(wc/(2/N+1;%取整

omega=[0:N-1]*2*pi/N; %取N个采样点

ABS_H=[ones(1,m,0.2,zeros(1,N-2*m-1,0.2,ones(1,m-1];

H=ABS_H.*exp(-j*tao.*omega;

h=ifft(H; %ifft函数实现由频域抽样点计算其对应时域序列

figure(1; %打开窗口1

subplot(2,1,1;%图形显示分割窗口stem(omega,abs(H;%绘制低通频谱采样图

title('理想低通频谱取样点'

subplot(2,1,2;stem([0:N-1],real(h;%绘出低通脉冲响应图title('频率取样法设计的低通脉冲响应'

Hh=fft(h,512;%对信号进行傅立叶变换

Hh_db=20*log10(abs(Hh;

figure(2;

omega=[0:255]*pi/256;

plot(omega,Hh_db(1:256;

title('滤波器的低通衰耗特性'

set(gca,'ytick',[(-120:20:-20,-3,0];

s1=wavread('福建工程学院.wav';

y=resample(s1,80,441;

sigLength=length(y;

for k=1:1:sigLength

fs=8000;

noise(k=0.005*sin(2*pi*900*k/fs;

x(k=y(k+noise(k;%噪声信号的叠加

end

Y = fft(x,sigLength;%对信号进行傅立叶变换Pyy = Y.* conj(Y / sigLength;

halflength=floor(sigLength/2;

f=8000*(0:halflength/sigLength;

figure;plot(f,Pyy(1:halflength+1;

axis([0 1000 0 0.02];

xlabel('Frequency(Hz';

a=conv(x,h; %相乘运算

sigLength=length(a;

Y = fft(a,sigLength; %对信号进行傅立叶变换Paa = Y.* conj(Y / sigLength;

halflength=floor(sigLength/2;

f1=8000*(0:halflength/sigLength;

figure;plot(f1,Paa(1:halflength+1; axis([0 1000 0 0.02];

xlabel('Frequency(Hz';

相关文档
最新文档