数字信号处理专业课程设计对音乐信号的各种处理样本.docx

上传人:b****1 文档编号:23123014 上传时间:2023-05-08 格式:DOCX 页数:39 大小:381.13KB
下载 相关 举报
数字信号处理专业课程设计对音乐信号的各种处理样本.docx_第1页
第1页 / 共39页
数字信号处理专业课程设计对音乐信号的各种处理样本.docx_第2页
第2页 / 共39页
数字信号处理专业课程设计对音乐信号的各种处理样本.docx_第3页
第3页 / 共39页
数字信号处理专业课程设计对音乐信号的各种处理样本.docx_第4页
第4页 / 共39页
数字信号处理专业课程设计对音乐信号的各种处理样本.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

数字信号处理专业课程设计对音乐信号的各种处理样本.docx

《数字信号处理专业课程设计对音乐信号的各种处理样本.docx》由会员分享,可在线阅读,更多相关《数字信号处理专业课程设计对音乐信号的各种处理样本.docx(39页珍藏版)》请在冰豆网上搜索。

数字信号处理专业课程设计对音乐信号的各种处理样本.docx

数字信号处理专业课程设计对音乐信号的各种处理样本

数字信号处理专业课程设计对音乐信号的各种处理

实验1

1、音乐信号的音谱和频谱观察

使用wavread语句读取音乐信号,获取抽样率;

输出音乐信号的波形和频谱,观察现象;

使用sound语句播放音乐信号,注意不同抽样率下的音调变化,解释现象。

clearall;closeall;clc

[a,fs,bit]=wavread('c:

\MATLAB6p5\work\');

size(a);

y1=a(:

1);

a1=y1(10000:

60000)

figure;

subplot(2,1,1),plot(a);

subplot(2,1,2),plot(a1);

x1=resample(a1,2,1);%y=resample(x,p,q)返回量的长度是向量x的p/q倍

sound(x1,fs);

%sound(a,fs);

N1=length(a1);

F1=fft(a1,N1);

w=2/N1*[0:

N1-1];%频谱图横坐标设置

figure;

plot(w,abs(F1));

N2=length(a1);

t=0:

1/N2:

1/N2*(N2-1);

title('傅利叶变换');%傅利叶变换;

figure;

plot(a1);

title('时域波形');%时域波形;

 

1,以二倍的抽样率听声音信号时,音乐播放的特别快,像被压缩了,播放的时间比原信号短。

2,以二分之一的抽样率听声音信号时,音乐播放的特别慢,像被拉长了,播放的时间比原信号长。

3,*pi

 

实验2

2、音乐信号的抽取(减抽样)

观察音乐信号频率上限,选择适当的抽取间隔对信号进行减抽样(给出两种抽取间隔,代表混叠和非混叠);

输出减抽样音乐信号的波形和频谱,观察现象,给出理论解释;

播放减抽样音乐信号,注意抽样率的改变,比较不同抽取间隔下的声音,解释现象。

clearall;closeall;clc

[a,fs,bit]=wavread('c:

\MATLAB6p5\work\');

size(a);

y1=a(:

1);

a1=y1(10000:

60000)

D=2;%减抽样;

l=length(a1);

yd=a1(1:

D:

l);

sound(yd,fs/D);

N3=length(yd);

t=0:

1/N3:

1/N3*(N3-1);%横坐标设置

figure;

plot(yd);

title('减抽样时域波形');%时域波形;

xlabel('t');

ylabel('幅度');

N4=length(yd);

F2=fft(yd,N4);

w=2/N4*[0:

N4-1];

figure;

plot(w,abs(F2));

title('减抽样频谱');%减抽样频谱

xlabel('f');

ylabel('幅度');

D=2,减抽样

 

D=4,减抽样

 

1,*pi,当D=2时,频谱刚好不混叠,当D>2时,频谱就会混叠。

2,减抽样后的音乐信号听起来变得尖锐,有失真。

3,抽样率随着抽样间隔的增大而逐渐变小,声音越来越失真,音调变得急促,而尖锐,信号产生混叠

 

实验3

3、音乐信号的AM调制

观察音乐信号的频率上限,选择适当调制频率对信号进行调制(给出高、低两种调制频率);

输出调制信号的波形和频谱,观察现象,给出理论解释;

播放调制音乐信号,注意不同调制频率下的声音,解释现象。

clearall;closeall;clc

[a,fs,bit]=wavread('c:

\MATLAB6p5\work\');

size(a);

y1=a(:

1);

a1=y1(10000:

100000);

%sound(a1,fs);

N=length(a1);

n1=0:

[N-1];

y=cos(*pi*n1);%产生余弦信号

N1=length(a1);

F1=fft(y,N1);

w=2/N1*[0:

N1-1];

figure;

plot(w,abs(F1));

title('cos(wt)频谱');%余弦频谱

xlabel('f');

ylabel('幅度');

 

N2=length(a1);

F2=fft(a1,N2);

w=2/N2*[0:

N2-1];

figure;

plot(w,abs(F2));

title('yinyue频谱');%原信号频谱

xlabel('f');

ylabel('幅度');

x1=a1.*y';%音乐信号与余弦信号点乘进行调制

figure

plot(x1);

N3=length(a1);

F3=fft(x1,N3);%调制信号傅立叶变换

w=2/N3*[0:

N3-1];

figure;

plot(w,abs(F3));

title('调制频谱');%调制信号频谱

xlabel('f');

ylabel('幅度');

sound(x1,fs);

 

w=*pi时.

 

w=*pi时.

 

w=*pi时.

 

1,由原信号频谱知,,。

2,原信号的调制相当于频谱搬移,左移一个右移一个,当调制频率(余弦频率)。

3,当余弦点数取得少时,余弦频谱会产生泄漏。

4,当调制频率较高时(发生混叠),声音响度低,几乎只能听见兹兹的声音,信号几乎完全失真,当调制频率较低时(未发生混叠),声音很尖锐,响度较大,稍微能听出一点调子,但也有兹兹的声音。

实验4

4、AM调制音乐信号的同步解调

设计巴特沃斯IIR滤波器完成同步解调;观察滤波器频率响应曲线;

用窗函数设计FIR滤波器完成同步解调,观察滤波器频率响应曲线;(要求:

分别使用矩形窗和布莱克曼窗,进行比较);

输出解调音乐信号,比较不同滤波器下的声音,解释现象。

clearall;closeall;clc

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

 

[a,fs,bit]=wavread('c:

\MATLAB6p5\work\');

size(a);

y1=a(:

1);

a1=y1(10000:

100000);

%sound(a1,fs);%播放yuan的信号

N=length(a1);

n1=0:

[N-1];

y=cos(*pi*n1);

x1=a1.*y';%点乘

figure

plot(x1);

N1=length(a1);

F1=fft(x1,N1);%调制信号傅立叶变换

w=2/N1*[0:

N1-1];

figure

plot(w,abs(F1));

title('调制频谱');%调制信号频谱

xlabel('f');

ylabel('幅度');

%sound(x1,fs);%播放调制后的信号

x2=x1.*y';

figure

plot(x2);%解调后信号

 

F2=fft(x2,N1);%解调信号傅立叶变换

w=2/N1*[0:

N1-1];

figure

plot(w,abs(F2));

title('解调频谱');%解调频谱

xlabel('f');

ylabel('幅度');

%sound(x2,fs);%播放解调后的信号

[N,Wc]=buttord(,,1,15);

[B,A]=butter(N,Wc);

[H,W]=freqz(B,A);

figure

plot(W/pi,abs(H));

title('数字巴特沃斯滤波器');%数字巴特沃斯滤波器

x3=filter(B,A,x2);%滤波后信号

w=2/N1*[0:

N1-1];

fx=fft(x3,N1);

fa=fft(a1,N1);

figure

subplot(2,1,1),plot(w,abs(fa));

title('yuanxinhaopinpu');

subplot(2,1,2),plot(w,abs(fx));

title('数字巴特沃斯滤波器滤波频谱');%滤波后频谱

sound(x3,fs);%播放巴特沃斯滤波器滤波后信号shengyin

N=33;wc=*pi;

hd=ideal(N,wc);

w1=boxcar(N);%矩形窗

w2=blackman(N);%布莱克曼窗

h1=hd.*w1';

h2=hd.*w2';

y3=conv(x2,h1);%解调后信号与矩形窗函数卷积

y4=conv(x2,h2);%解调后信号与布莱克曼窗函数卷积

%sound(y3,fs);%播放矩形窗滤波后信号shengyin

%sound(y4,fs);%播放布莱克曼窗滤波后信号shengyin

figure;

subplot(2,1,1),plot(y3);

title('矩形窗滤波后信号');

subplot(2,1,2);plot(y3);

title('布莱克曼窗滤波后信号');

fh1=fft(h1,N1);

db1=-20*log10(abs(fh1

(1)./(abs(fh1)+eps)));%理想低通滤波器加窗后幅度响应

fh2=fft(h2,N1);

db2=-20*log10(abs(fh2

(1)./(abs(fh2)+eps)));

w=2/N1*[0:

N1-1];

figure;

subplot(3,1,1),stem(h1);%矩形窗函数

gridon;

title('矩形窗');

xlabel('n');

ylabel('h(n)');

subplot(3,1,2),plot(w,abs(fh1));

gridon;

title('矩形窗');

xlabel('w');

ylabel('H(k)');

subplot(3,1,3);plot(w,db1);%矩形窗函数分贝图

gridon;

figure;

subplot(3,1,1);stem(h2);

gridon;

title('布莱克曼窗');

xlabel('n');

ylabel('h(n)');

subplot(3,1,2);plot(w,abs(fh2));

gridon;

title('布莱克曼窗');

xlabel('w');

ylabel('H(k)');

subplot(3,1,3);plot(w,db2);%布莱克曼窗窗函数分贝图

gridon;

w=2/N1*[0:

N1-1];

Fy1=fft(y3,N1);

Fy2=fft(y4,N1);

figure;

subplot(2,1,1);plot(w,abs(Fy1));

title('矩形窗滤波后频谱');

subplot(2,1,2);plot(w,abs(Fy2));

title('布莱克曼窗滤波后频谱');

 

 

 

 

 

 

 

 

 

1,解调后信号频谱在高频和低频处均有一部分,且成对称分布,需要滤掉高频才可大致还原原信号。

2,,,,阻带衰减15db。

滤波效果很好,基本还原了原信号。

3,使用窗函数滤波要根据过渡带宽算阶数N,。

4,使用矩形窗滤波,矩形窗过渡带窄,但是阻带有波纹,高频部分有小部分未滤掉。

5,使用布莱克曼窗滤波,布莱克曼窗过渡带宽,但是阻带较好。

6,使用矩形窗和布莱克曼窗滤波,效果都行,基本都能还原原信号

 

实验5

5、音乐信号的滤波去噪

,频率为3kHz、5kHz、8kHz的三余弦混合噪声,观察噪声频谱以及加噪后音乐信号的音谱和频谱,并播放音乐,感受噪声对音乐信号的影响;

(可用rand语句产生),观察噪声频谱以及加噪后音乐信号的音谱和频谱,并播放音乐,感受噪声对音乐信号的影响;

根据步骤

观察到的频谱,选择合适指标设计滤波器进行滤波去噪,观察去噪后信号音谱和频谱,并播放音乐,解释现象。

clearall;closeall;clc

[a,fs,bit]=wavread('c:

\MATLAB6p5\work\');

size(a);

y1=a(:

1);

a1=y1(10000:

100000);

%sound(a1,fs);%播放yuan的信号

N1=length(a1);

n1=0:

[N1-1];

x1=*cos(2*pi*3000*n1/fs);

x2=*cos(2*pi*5000*n1/fs);

x3=*cos(2*pi*8000*n1/fs);

x4=x1+x2+x3;

figure;

plot(x4);%叠加余弦信号

F1=fft(x4,N1);%叠加余弦信号傅立叶变换

w=2/N1*[0:

N1-1];

figure

plot(w,abs(F1));

title('叠加余弦信号频谱');%叠加余弦信号频谱

xlabel('f');

ylabel('幅度');

y2=a1+x4';

%sound(y2,fs);%播放叠加余弦音乐信号

figure;

plot(y2);%叠加余弦音乐信号

F2=fft(y2,N1);%叠加余弦音乐信号傅立叶变换

figure

plot(w,abs(F2));

title('叠加余弦噪声音乐信号频谱');%叠加余弦音乐信号频谱

xlabel('f');

ylabel('幅度');

[N,Wc]=buttord(,,1,50);

[B,A]=butter(N,Wc);

[H,W]=freqz(B,A);

figure

plot(W/pi,abs(H));

title('数字巴特沃斯滤波器');%数字巴特沃斯滤波器

y3=filter(B,A,y2);%滤波后信号

fa=fft(a1,N1);

fy=fft(y3,N1);

figure

subplot(3,1,1),plot(w,abs(fa));

title('yuanxinhaopinpu');

subplot(3,1,2),plot(w,abs(F2));

title('叠加余弦噪声音乐信号频谱');%叠加音乐信号频谱

subplot(3,1,3),plot(w,abs(fy));

title('数字巴特沃斯滤波器滤波频谱');%滤波后频谱

%sound(y3,fs);%播放滤波后音乐信号

r=rand(N1,1);

yr=a1+r;

figure;

plot(yr);

%sound(yr,fs);%播放叠加随机噪声音乐信号

 

[N,Wc]=buttord(,,1,50);

[B,A]=butter(N,Wc);

[H,W]=freqz(B,A);

figure;

plot(W/pi,abs(H));

title('数字巴特沃斯滤波器2');%数字巴特沃斯滤波器

yf=filter(B,A,yr);%滤波后信号

Fz=fft(r,N1);

Fr=fft(yr,N1);

Ff=fft(yf,N1);

figure;

subplot(2,1,1),plot(w,abs(fa));

title('yuanxinhaopinpu');

subplot(2,1,2),plot(w,abs(Fz));

title('随机噪声频谱');

figure;

subplot(2,1,1),plot(w,abs(Fr));

title('叠加随机噪声音乐信号频谱');%叠加音乐信号频谱

subplot(2,1,2),plot(w,abs(Ff));

title('数字巴特沃斯滤波器滤波频谱');%滤波后频谱

sound(yf,fs);%播放滤波后音乐信号

 

 

 

 

 

 

 

 

 

 

 

1,三余弦信号的频谱为不同频率处得三根线,加噪声后的音乐信号频谱是在原信号频谱上加了三条不同频率的线。

加噪声后音乐信号能听到原有的音调,但里面有非常大的杂音,兹兹的噪声。

2,对加余弦噪声的信号进行滤波,用巴特沃斯滤波器滤波,参数为:

,,阻带衰减50db,滤波后滤掉了一部分高频信息,三根余弦基本滤除。

滤波后信号听起来还稍微有点杂音,有稍微的失真。

3,对原信号加随机白噪声,白噪声均匀分布,对其用巴特沃斯滤波器滤波,参数为:

,,阻带衰减50db,滤波后滤掉了一部分高频信息,

阻带衰减快,,但还保留了低频处得噪声,滤波后音乐信号听起来能听出原调,但有失真,且伴随有较大声的随机白噪声。

 

实验6

6、音乐信号的幅频滤波及相频分析

设计低通滤波器(可自行选取不同的截止频率),滤除原始音乐信号的高频信息,观察滤波前后的幅度频谱,并比较滤波前后的音乐效果,感受高频信息对音乐信号的影响;

设计高通滤波器(可自行选取不同的截止频率),滤除原始音乐信号的低频信息,观察滤波前后的幅度频谱,并比较滤波前后的音乐效果,感受高频信息对音乐信号的影响;

选取两端不同的音乐信号,分别将其幅度谱和相位谱交叉组合构成新的音乐信号,播放并比较组合后的音乐与原始音乐,感受相频信息对音乐信号的影响。

clearall;closeall;clc

[a,fs,bit]=wavread('c:

\MATLAB6p5\work\');

size(a);

y1=a(:

1);

a1=y1(10000:

100000);

%sound(a1,fs);%播放原的信号1

N1=length(a1);

F1=fft(a1,N1);%原信号1傅立叶变换

w=2/N1*[0:

N1-1];

[N,Wc]=buttord(,,1,30);

[B,A]=butter(N,Wc);

[H,W]=freqz(B,A);

figure

plot(W/pi,abs(H));

title('数字巴特沃斯滤波器');%数字巴特沃斯滤波器

a2=filter(B,A,a1);%滤波后信号

fd=fft(a2,N1);

figure;

subplot(211),plot(w,abs(F1));

title('原信号1频谱');%原信号1频谱

xlabel('f');

ylabel('幅度');

subplot(212),plot(w,abs(fd));

title('数字巴特沃斯滤波器滤波频谱');%滤波后频谱

%sound(a2,fs);%播放滤波后音乐信号

 

[N,Wc]=buttord(,,1,30);

[B,A]=butter(N,Wc,'high');

[H,W]=freqz(B,A);

figure

plot(W/pi,abs(H));

title('数字巴特沃斯滤波器');%数字高通巴特沃斯滤波器

a3=filter(B,A,a1);%滤波后信号

fg=fft(a3,N1);

figure

plot(w,abs(fg));

title('数字巴特沃斯滤波器滤波频谱');%滤波后频谱

%sound(a3,fs);%播放滤波后音乐信号

[x,fs,bit]=wavread('C:

\MATLAB6p5\work\刘欢-');

size(x);

x1=x(:

1);

x2=x1(10000:

100000);

%sound(x2,fs);%播放原的信号2

figure

subplot(211),plot(x2)

F2=fft(x2,N1);%原信号2傅立叶变换

w=2/N1*[0:

N1-1];

subplot(212),plot(w,abs(F2));

title('原信号2频谱');%原信号2频谱

xlabel('f');

ylabel('幅度');

Fa1=abs(F1);

Fa2=abs(F2);

Fx1=angle(F1);

Fx2=angle(F2);

f1=Fa1.*exp(j*Fx2);%相位谱和幅度谱交叉组合

f2=Fa2.*exp(j*Fx1);

figure

subplot(211),plot(w,abs(f1));

title('原信号1幅度谱,原信号2相位谱');

subplot(212),plot(w,abs(f2));

title('原信号2幅度谱,原信号1相位谱');

b1=ifft(f1);

b2=ifft(f2);

%sound(real(b1),fs);

%sound(real(b2),fs);

 

 

 

 

 

 

 

1,通滤波器滤掉高频信息,声音听起来比较低沉、沉闷,高频分量解释信号的突变部分。

2,高通滤波器滤掉低频信息,声音听起来比较尖锐、不浑厚,低频影响信号整体部分。

3,通过幅度谱、相位谱交叉组合,组合后音乐信号听起来与提供相位谱的音乐信号相似,相位谱影响音乐信号的音色。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1