西南交大信号与系统实验报告Word文档下载推荐.docx

上传人:b****5 文档编号:19449673 上传时间:2023-01-06 格式:DOCX 页数:16 大小:449.11KB
下载 相关 举报
西南交大信号与系统实验报告Word文档下载推荐.docx_第1页
第1页 / 共16页
西南交大信号与系统实验报告Word文档下载推荐.docx_第2页
第2页 / 共16页
西南交大信号与系统实验报告Word文档下载推荐.docx_第3页
第3页 / 共16页
西南交大信号与系统实验报告Word文档下载推荐.docx_第4页
第4页 / 共16页
西南交大信号与系统实验报告Word文档下载推荐.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

西南交大信号与系统实验报告Word文档下载推荐.docx

《西南交大信号与系统实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《西南交大信号与系统实验报告Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。

西南交大信号与系统实验报告Word文档下载推荐.docx

和栅网间隔

,因为后者是MATLAB中严格地用来表示模拟信号的。

类似地,付利叶变换关系也可根据

(2)近似为:

(3)

现在,如果

(也就是

)是有限长度的。

则公式(3)与离散付利叶变换关系相似,因而可以用同样的方式以MATLAB来实现,以便分析采样现象。

采样频率

必须大于2

即奈奎斯特采样频率(

为有限带宽信号

的带宽),该信号才可以由它的采样值

重构。

小于2

则会在x(n)中产生混叠,为欠采样。

产生的傅立叶变换图形是把互相交叠的

的复制品叠加的结果,所以产生了失真。

四、思考题:

1.通过实验说明信号的时域与频域成反比的关系。

从实验一做出的图形看出:

的时域是

时域的1/2倍,

的频域是

的频域的2倍。

2.分别求出

奈奎斯特采样间隔,并与例一的信号的奈奎斯特采样间隔比较。

的奈奎斯特采样频率为8000样本每秒;

则奈奎斯特采样间隔为1/8000;

是例一的信号

的1/2;

的奈奎斯特采样频率为2000样本/秒;

则奈奎斯特采样间隔为1/2000,是例一的信号

的2倍。

五.完整书写你的全部MATLAB程序,并给出程序运行的结果图。

1.

Dt=0.00005;

t=-0.005:

Dt:

0.005;

xa=exp(-1000*abs(t));

%连续时间傅立叶变换

Wmax=2*pi*2000;

K=500;

k=0:

1:

K;

W=k*Wmax/K;

Xa=xa*exp(-j*t'

*W)*Dt;

Xa=real(Xa);

W=[-fliplr(W),W(2:

501)];

%频率从-WmaxtoWmax

Xa=[fliplr(Xa),Xa(2:

%Xa介于-Wmax和Wmax之间

%subplot(1,1,1)

subplot(2,1,1);

plot(t*1000,xa);

xlabel('

t毫秒'

);

ylabel('

xa(t)'

title('

模拟信号'

subplot(2,1,2);

plot(W/(2*pi*1000),Xa*1000);

频率(单位:

KHz)'

Xa(jW)*1000'

title('

连续时间傅立叶变换'

2.

%模拟信号

t=-0.005:

xa=exp(-1000*abs(t));

%离散时间信号

Ts=0.0002;

n=-25:

25;

x=exp(-1000*abs(n*Ts));

%离散时间傅立叶变换

w=pi*k/K;

X=x*exp(-j*n'

*w);

X=real(X);

w=[-fliplr(w),w(2:

K+1)];

X=[fliplr(X),X(2:

subplot(1,1,1)

ylabel('

x1(n)'

离散信号'

holdon

stem(n*Ts*1000,x);

%gtext('

Ts=0.2毫秒'

holdoff

plot(w/pi,X);

以pi为单位的频率'

X1(w)'

离散时间傅立叶变换'

clear

clc

[y,fs,bits]=wavread('

P_n8'

n=length(y);

y_zp=fft(y,n);

%对n点进行傅里叶变换到频域

f=fs*(0:

n/2-1)/n;

%对应点的频率

fp=1500;

fc=1700;

As=100;

Ap=1;

%通带边缘频率fp,阻带边缘频率fc

wc=2*pi*fc/fs;

wp=2*pi*fp/fs;

%数字频率=模拟频率/采样频率

wdel=wc-wp;

beta=0.112*(As-8.7);

N=ceil((As-8)/2.285/wdel);

wn=kaiser(N+1,beta);

ws=(wp+wc)/2/pi;

b=fir1(N,ws,wn);

figure

(2);

freqz(b,1);

x=fftfilt(b,y);

X=fft(x,n);

figure(3);

subplot(2,2,1);

plot(f,abs(y_zp(1:

n/2)));

滤波前信号的频谱图'

频率Hz'

频率幅值'

subplot(2,2,2);

plot(f,abs(X(1:

滤波后信号频谱图'

subplot(2,2,3);

plot(y);

滤波前信号的时域波形'

时间轴'

幅值A'

subplot(2,2,4);

plot(x);

滤波后信号的时域波形'

sound(x,fs,bits)%回放滤波后的音频

wavwrite(x,fs,'

P8'

3.

Ts=0.001;

n=-5:

5;

x2(n)'

gtext('

Ts=1毫秒'

X2(w)'

4.

t=-0.01:

0.01;

%t在-0.01到0.01之间;

xa=exp(-1000*abs(0.5*t));

%离散时间信号

n=-6:

6;

x=exp(-1000*abs(0.5*n*Ts));

%离散时间傅立叶变换

subplot(1,1,1)

holdoff

5.

t=-0.0025:

0.0025;

%t在-0.0025到0.0025之间;

xa=exp(-1000*abs(2*t));

n=-25/2:

25/2;

x=exp(-1000*abs(2*n*Ts));

6.

Ts=0.00025;

n=-40:

40;

Ts=0.25毫秒'

plot(w/pi,X);

7.

实验二音乐电子记谱

一、实验目的

利用Matlab工具分析音频文件的时域和频域特性,利用Matlab工具完成对音频文件升调降调的修改,去噪处理,合成新的音频文件。

二、实验内容

全部程序:

[m,fs]=wavread('

小星星_中'

L=length(m);

N=L/32;

m1=m(1:

N);

fm1=fft(m1);

f=(0:

N/2-1)*fs/N;

plot(f,abs(fm1(1:

N/2))/max(abs(fm1)))

grid

axis([0,4000,0,1])

小星星_低'

%[m,fs]=wavread('

小星星_高'

%sound(m,fs);

axis([0,4000,0,1]);

m2=resample(m,1,2);

%m2=resample(m,2,1);

%sound(m2,fs);

[do,fs,bits]=wavread('

P1'

[re,fs,bits]=wavread('

P2'

[mi,fs,bits]=wavread('

P3'

[fa,fs,bits]=wavread('

P4'

[so,fs,bits]=wavread('

P5'

[la,fs,bits]=wavread('

P6'

[xi,fs,bits]=wavread('

P7'

[do1,fs,bits]=wavread('

y=[do;

do;

so;

la;

fa;

mi;

re;

do1];

sound(y,fs,bits);

三、实验结论

1.在MATLAB的信号处理工具箱中函数FFT和IFFT用于快速傅立叶变换和逆变换。

2.[x,fs,bits]=wavread('

d:

\1.wav'

%用于读取语音,采样值放在向量x中,fs表示采样频率(Hz),bits表示量化位数。

sound(x,fs,bits);

用于对声音的回放。

向量x则代表了一个信号(也即一个复杂的“函数表达式”),就是说可以像处理一个信号表达式一样处理这个声音信号。

3.利用MATLAB中的wavread命令来读入(采集)语音信号,将它赋值给某一向量。

再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析。

四、思考题

(1)有什么方法可以将“小星星-中”的音乐升高和降低一个八度,用MATLAB实现你的方法。

MATLAB程序:

[x,fs,bits]=wavread('

D:

\音乐电子记谱\小星星_中'

L=length(x);

x1=x(1:

fx1=fft(x1);

plot(f,abs(fx1(1:

N/2))/max(abs(fx1)))

axis([0,4000,0,1])

x_a=resample(x,1,2);

%升高八度

%sound(x_a,fs,bits);

x_b=resample(x,2,1);

%降低八度

%sound(x_b,fs,bits);

(2)利用MATLAB去噪过后的P_n1到P_n8合成乐曲“小星星”,用sound函数播放合成乐音,即可听到钢琴演奏曲。

\P1'

\P2'

\P3'

\P4'

\P5'

\P6'

\P7'

\P8'

do];

sound(y,fs,bits)

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

当前位置:首页 > 经管营销 > 人力资源管理

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

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