数字信号处理课程设计实验报告.docx
《数字信号处理课程设计实验报告.docx》由会员分享,可在线阅读,更多相关《数字信号处理课程设计实验报告.docx(29页珍藏版)》请在冰豆网上搜索。
数字信号处理课程设计实验报告
数字信号处理课程设计
实验报告
物理工程学院
电子信息科学与技术1班
20092250117
柳炯
1、音乐信号的音谱和频谱观察
[y,fs,bit]=wavread('2');
sound(y,fs);%播放音乐信号
plot(y);%输出音乐信号的波形
y1=y(:
1);%获取单声道信号
M=512;
fh1=fft(y1,M);
w=2/M*[0:
M-1];
figure;plot(w,abs(fh1));%输出音乐信号的频谱
2、音乐信号的抽取(减抽样)
[y,fs,bit]=wavread('2');
sound(y,fs);
figure;
subplot(1,2,1);
plot(y);
title('原音乐信号波形');
y1=y(:
1);
M=512;
fh1=fft(y1,M);
w=2/M*[0:
M-1];
subplot(1,2,2);
plot(w,fh1);
title('原音乐信号频谱');
gridon;
j=0;
d=10;%减抽样间隔取3和10代表混叠与非混叠
y3=y1(1:
100000);%取前100000个点
fori=1:
d:
length(y3);
j=j+1;
yd(j)=y1(i);
end
sound(yd,fs/d);
figure;
subplot(1,2,1);
plot(yd);
title('减抽样时域');
fh2=fft(yd);
l1=length(fh2);
w2=2/l1*(0:
l1-1);
subplot(1,2,2);
plot(w2,abs(fh2));
title('减抽样频域');
3、音乐信号的AM调制和巴特沃斯IIR滤波器滤波
[w,fs,bit]=wavread('2');
w1=w(:
1);
l=length(w1);
ww=2/l*(0:
l-1);
n=0:
length(w1)-1;
t1=w1.*cos(0.6*pi*n)';%调制
T1=fft(t1);
plot(t1);
title('AM低/高频调制后波形');
figure;
plot(ww,abs(T1));
title('AM低/高频调制后频谱');
sound(t1,fs);
t2=t1.*cos(0.6*pi*n)';%解调
T2=fft(t2);
figure;
plot(t2);
title('AM低/高频解调后波形');
figure;
plot(ww,abs(T2));
title('AM低/高频解调后频谱');
sound(t2,fs);
[N,wc]=buttord(0.2,0.3,2,15);%滤波器参数选择
[b1,a]=butter(N,wc);
[h,wi]=freqz(b1,a);%根据参数确定滤波器的系统函数
figure;
plot(wi/pi,abs(h));
title('iir滤波器频谱');
%用iir对信号滤波
y=filter(b1,a,t2);%对解调后的信号滤波
Y=fft(y);
figure;
plot(y);
title('低/高频解调滤波后时域');
figure;
plot(ww,abs(Y));
title('低/高频解调滤波后的频域');
sound(y,fs);
用窗函数法设计FIR滤波器(矩形窗和布莱克曼窗)
理想低通滤波器的函数:
functionhd=ideal(N,wc)
forn=0:
N-1
ifn==(N-1)/2
hd(n+1)=wc/pi;
elsehd(n+1)=sin(wc*(n-(N-1)/2))/(pi*(n-(N-1)/2));
end
end
设计主程序:
[w,fs,bit]=wavread('2');
w1=w(:
1);
n=0:
length(w1)-1;
t1=w1.*cos(0.6*pi*n)';
j1=t1.*cos(0.6*pi*n)';
%用FIR对信号同步解调
N=9;wc=pi/4;%用boxcar时N取9
hd=ideal(N,wc);%理想低通滤波器
w=boxcar(N);%blackman和boxcar
h=hd.*w';%求出滤波器的特性
M=512;
fh=fft(h,M);
ww=2/M*(0:
M-1);
plot(ww,abs(fh));
title('矩形窗fir滤波器频率响应');
y=conv(j1,h);%解调后信号和滤波器做卷积
Y=fft(y,M);
figure
plot(y);
title('矩形窗fir滤波后时域');
figure
plot(ww,abs(Y));
title('矩形窗fir滤波后频域');
sound(y,fs);
三余弦和白噪声的实验
[y,fs,bit]=wavread('2');
y1=y(:
1);
f=fft(y1);
l=length(f);
ww=2/l*(0:
l-1);
n=0:
length(y1)-1;
x=0.05*(cos(2*pi*3000*n/fs)+cos(2*pi*5000*n/fs)+cos(2*pi*8000*n/fs));
fx1=fft(x);
plot(ww,abs(fx1));
title('三余弦噪声频谱');
r=rand(size(y1),1)-0.5;
fx2=fft(r);
figure
plot(ww,abs(fx2));
title('随机白噪声频谱');
x1=y1'+x;%叠加三余弦噪声
figure
plot(x1);
title('加三余弦噪声的信号音谱');
fx3=fft(x1);
figure
plot(ww,abs(fx3));
title('加三余弦噪声的信号频谱');
x2=y1+r;%叠加随机白噪声
figure
plot(x2);
title('加白噪声的信号音谱');
fx4=fft(x2);
figure
plot(ww,abs(fx4));
title('加白噪声的信号频谱');
sound(x1,fs);
sound(x2,fs);
三余弦噪声滤波
[y,fs,bit]=wavread('2');
y1=y(:
1);
f=fft(y1);
l=length(f);
ww=2/l*(0:
l-1);
n=0:
length(y1)-1;
x=0.05*(cos(2*pi*3000*n/fs)+cos(2*pi*5000*n/fs)+cos(2*pi*8000*n/fs));
fx1=fft(x);
plot(ww,abs(fx1));
title('三余弦噪声频谱');
x1=y1'+x;
figure
plot(x1);
title('加三余弦噪声的信号音谱');
fx3=fft(x1);
figure
plot(ww,abs(fx3));
title('加三余弦噪声的信号频谱');
sound(x1,fs);
[N,wc]=buttord(0.1,0.14,5,20);
[b1,a]=butter(N,wc);
R=filter(b1,a,x1);
fr=fft(R);
figure
plot(R);
title('滤波去噪后信号的音谱');
figure
plot(ww,abs(fr));
title('滤波去噪后信号频谱');
sound(R,fs);
随机白噪声滤波
[y,fs,bit]=wavread('2');
y1=y(:
1);
f=fft(y1);
l=length(f);
ww=2/l*(0:
l-1);
n=0:
length(y1)-1;
r=rand(size(y1),1)-0.5;%随机白噪声的幅值取-0.5到0.5
fx2=fft(r);
figure
plot(ww,abs(fx2));
title('随机白噪声频谱');
x2=y1+r;
figure
plot(x2);
title('加白噪声的信号音谱');
fx4=fft(x2);
figure
plot(ww,abs(fx4));
title('加白噪声的信号频谱');
[N,wc]=buttord(0.06,0.1,2,20);
[b1,a]=butter(N,wc);
G=filter(b1,a,x2);%滤波
fg1=fft(G);
figure
plot(G);
title('滤波去噪后信号的音谱');
figure
plot(ww,abs(fg1));
title('滤波去噪后信号频谱');
sound(x2,fs);
sound(G,fs);
设计低通滤波器
[y,fs,bit]=wavread('2');
y1=y(:
1);
fx1=fft(y1);
l=length(fx1);
ww=2/l*(0:
l-1);
figure;
plot(ww,abs(fx1));
title('原信号频谱');
[N,wc]=buttord(0.1,0.15,1,20);
[b1,a]=butter(N,wc);
[h,wi]=freqz(b1,a);
figure;
plot(wi/pi,abs(h));
title('滤波器特性曲线');
y=filter(b1,a,y1);
fx2=fft(y);
figure;
plot(ww,abs(fx2));
title('滤波后频谱');
sound(y1,fs);
sound(y,fs);
设计高通滤波器
[y,fs,bit]=wavread('1');
y1=y(:
1);
fx1=fft(y1);
l=length(fx1);
ww=2/l*(0:
l-1);
figure;
plot(ww,abs(fx1));
title('原信号频谱');
[N,wc]=buttord(0.15,0.2,1,20);
[b1,a]=butter(N,wc,'high');
[h,wi]=freqz(b1,a,'whole');
figure;
plot(wi/pi,abs(h));
title('滤波器特性曲线');
y2=filter(b1,a,y1);
fx2=fft(y2);
figure;
plot(ww,abs(fx2));
title('滤波后频谱');
sound(y1,fs);
sound(y2,fs);
幅度谱和相位谱交叉组合
[x,fs,bit]=wavread('1');
x1=x(:
1);
[y,fs,bit]=wavread('2');
y1=y(:
1);
N=10240;
fx1=fft(x1,N);
fy1=fft(y1,N);
Ffx1=abs(fx1);%取幅度谱
Afx2=angle(fy1);%取相位谱
F3=Ffx1.*exp(j*Afx2);%幅度谱与相位谱结合
x3=ifft(F3);%求出音乐信号
sound(real(x3));
关于课题设计后面参考问题的一些看法:
1、音乐信号的音调与振动的频率(即振动的快慢)有关,频率越高,音调也就越高。
2、音色与音乐信号的频谱分布有关,与发生体的材料、结构有关。
3、两种不同音色的音乐信号因为本身的频率不同,叠加在一起后人耳还能够分辨出声音。
4、音乐信号的幅度影响信号的响度,相位影响信号的音调。