北邮dsp软件实验报告文档格式.docx

上传人:b****7 文档编号:21889511 上传时间:2023-02-01 格式:DOCX 页数:13 大小:221.28KB
下载 相关 举报
北邮dsp软件实验报告文档格式.docx_第1页
第1页 / 共13页
北邮dsp软件实验报告文档格式.docx_第2页
第2页 / 共13页
北邮dsp软件实验报告文档格式.docx_第3页
第3页 / 共13页
北邮dsp软件实验报告文档格式.docx_第4页
第4页 / 共13页
北邮dsp软件实验报告文档格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

北邮dsp软件实验报告文档格式.docx

《北邮dsp软件实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《北邮dsp软件实验报告文档格式.docx(13页珍藏版)》请在冰豆网上搜索。

北邮dsp软件实验报告文档格式.docx

设信号x(n)=0.001*cos(0.45n

)+sin(0.3n

)-cos(0.302n

-

此信号的0.3

谱线相距很近,谱线0.45

的幅度很小,请选

择适宜的序列长度N和窗函数,用DFT分析其频谱,要求得到清楚的三根谱线。

【实验代码】:

k=2000;

n=[1:

1:

k];

x=0.001*cos(0.45*n*pi)+sin(0.3*n*pi)-cos(0.302*n*pi-pi/4);

subplot(2,1,1);

stem(n,x,'

.'

);

title(‘时域序列'

xlabel('

n'

ylabel('

x(n)'

xk=fft(x,k);

w=2*pi/k*[0:

k-1];

subplot(2,1,2);

stem(w/pi,abs(xk));

axis([00.502]);

title('

1000点DFT'

数字频率'

|xk(k)|'

【实验结果图】:

〔2〕DTMF信号频谱分析

用计算机声卡采集一段通信系统中双音多频〔DTMF〕拨号数字0~9的数据,采用快速傅里叶变换〔FFT〕分析这10个DTMF拨号时的频谱。

【实验代码】及【实验结果图】见实验二〔2〕;

实验二:

DTMF信号的编码

1.实验目的:

(a)复习和稳固IIR数字滤波器的根本概念;

(b)掌握IIR数字滤波器的设计方法;

(c)掌握IIR数字滤波器的实现构造;

(d)能够由滤波器的实现构造分析滤波器的性能〔字长效应〕;

(e)了解通信系统DTMF拨号的根本原理和IIR数字滤波器的实现方法。

2.实验容、要求及结果:

1)把你的联系通过DTMF编码生成一个.wav文件。

✧技术指标:

Ø

根据ITUQ.23建议,DTMF信号的技术指标是:

传送/接收率为每秒10个,或每个100ms。

每个传送过程中,信号存在时间至少45ms,且不多于55ms,100ms的其余时间是静音。

在每个频率点上允许有不超过

1.5%的频率误差。

任何超过给定频率

3.5%的信号,均被认为是无效的,拒绝接收。

〔其中关键是不同频率的正弦波的产生。

可以使用查表方式模拟产生两个不同频率的正弦波。

正弦表的制定要保证合成信号的频率误差在

1.5%以,同时是取样点数尽量少〕

N=800;

total_x=[];

tm=[49,50,51,65;

52,53,54,66;

55,56,57,67;

42,48,35,68];

n=1:

N;

fs=8000;

lf=[697770852];

hf=[120913361477];

x1=sin(2*pi*lf

(1)*n/fs)+sin(2*pi*hf

(1)*n/fs);

%1

x2=sin(2*pi*lf

(1)*n/fs)+sin(2*pi*hf(3)*n/fs);

%3

x3=sin(2*pi*lf

(1)*n/fs)+sin(2*pi*hf

(2)*n/fs);

%2

x4=sin(2*pi*lf

(2)*n/fs)+sin(2*pi*hf(3)*n/fs);

%6

x5=sin(2*pi*lf(3)*n/fs)+sin(2*pi*hf(3)*n/fs);

%9

x6=sin(2*pi*lf

(2)*n/fs)+sin(2*pi*hf(3)*n/fs);

x7=sin(2*pi*lf

(1)*n/fs)+sin(2*pi*hf

(2)*n/fs);

x8=sin(2*pi*lf(3)*n/fs)+sin(2*pi*hf

(2)*n/fs);

%8

x9=sin(2*pi*lf(3)*n/fs)+sin(2*pi*hf(3)*n/fs);

xa=sin(2*pi*lf(3)*n/fs)+sin(2*pi*hf(3)*n/fs);

xb=sin(2*pi*lf

(2)*n/fs)+sin(2*pi*hf

(2)*n/fs);

%5

total_x=[x1,x2,x3,x4,x5,x6,x7,x8,x9,xa,xb];

x11=[x1,zeros(1,800)];

x22=[x2,zeros(1,800)];

x33=[x3,zeros(1,800)];

x44=[x4,zeros(1,800)];

x55=[x5,zeros(1,800)];

x66=[x6,zeros(1,800)];

x77=[x7,zeros(1,800)];

x88=[x8,zeros(1,800)];

x99=[x9,zeros(1,800)];

xaa=[xa,zeros(1,800)];

xbb=[xb,zeros(1,800)];

x=[x11,x22,x33,x44,x55,x66,x77,x88,x99,xaa,xbb];

x=x/max(abs(x));

plot(x);

sound(x);

wavwrite(x,fs,'

tel.wav'

2)对所生成的DTMF文件进展解码。

DTMF信号解码可以采用FFT计算N点频率处的频谱值,然后估计出所拨。

但FFT计算了许多不需要的值,计算量太大,而且为保证频率分辨率,FFT的点数较大,不利于实时实现。

因此,FFT不适合于DTMF信号解码的应用。

✧由于只需要知道8个特定点的频谱值,因此采用一种称为Goertzel算法的IIR滤波器可以有效的提高计算效率。

其传递函数为:

Hk(z)=

k=[1820222431343842];

N=205;

disp(['

接收端检测到的为:

'

])

fornn=1:

11

m=800*(nn-1);

X=goertzel(total_x(m+1:

m+N),k+1);

val=abs(X);

stem(k,val,'

grid;

xlabel('

k'

|x(k)|'

set(gcf,'

color'

'

w'

shg;

pause();

limit=80;

fors=5:

8;

ifval(s)>

limit,break,end

end

forr=1:

4;

ifval(r)>

disp([setstr(tm(r,s-4))])

132

696

289

95

实验三:

FIR数字滤波器的设计和实现

✧通过本次试验,掌握一下知识:

FIR数字滤波器窗口设计法的原理和设计步骤;

Gibbs效应发生的原因和影响;

不同类型的窗函数对滤波效果的影响,以及窗函数和长度N的选择。

〔效果,耳机听前后声音,或者看前后的频谱图〕

✧录制一段自己的声音,长度为十几秒,取样频率32khz,然后叠加一个高斯白噪声,〔知道噪声分布,知道噪声功率,只要知道输入信号功率〕,使得信噪比为20db。

请采用窗口法,设计一个FIR带通滤波器,滤除噪声提高质量。

提示:

✧滤波器指标参考:

通带边缘频率为4khz,阻带边缘频率为4.5khz,阻带衰减大于50db;

✧Matlab函数y=awgn(x,snr,’measured’),首先测量输入信号x的功率,然后对其叠加高斯白噪声。

clear;

closeall;

[x,fs,nbits]=wavread('

st.wav'

snr=20;

x2=awgn(x,snr,'

measured'

wavwrite(x2,fs,16,'

add_noise.wav'

t=0:

1/fs:

(size(x2)-1)/fs;

wp=8000*pi/32000;

ws=9000*pi/32000;

wdelta=ws-wp;

N=ceil(11*pi/wdelta);

%取整

wn=(ws+wp)/2;

b=fir1(N,wn/pi,blackman(N+1));

figure

(1)

freqz(b,1,512)

f2=filter(b,1,x2);

figure

(2)

subplot(2,1,1)

plot(t,x2)

title(‘加噪声后时域波形'

subplot(2,1,2)

plot(t,f2)

滤波后时域波形'

F0=fft(f2,1024);

f=fs*(0:

511)/1024;

figure(3)

y2=fft(x2,1024);

plot(f,abs(y2(1:

512)));

加噪声后频谱'

Hz'

幅度'

F2=plot(f,abs(F0(1:

滤波后频谱'

wavwrite(f2,fs,16,'

afterfilter.wav'

实验问题及总结:

对于matlab这个软件或许确实不陌生,但是上一次使用也就是大一下学期了,当时学matlab也仅限于照葫芦画瓢,没有什么特别的理解,也觉得matlab是不是只能画画图而已。

不过这次实验使我对于matlab有了更深刻的认识!

同时,这次实验的重点是DSP这门课程,这是DSP软件实验。

首先通过这次试验,使我更加深刻的理解DFT、FFT以及滤波器的原理和应用,并且能够用仿真软件设计滤波器到达滤除高斯白噪声的目的。

这一点加深了我在DSP理论课上对于傅里叶变换、傅里叶变换进展信号分析时根本参数的选择、离散时间傅里叶变换和有限长度离散傅里叶变换后信号频谱上的区别、离散傅里叶变化的根本原理、特性这些概念的理解。

可能是看到各种各样的图形以及谱线被自己用软件语言写了出来之后有一种欣喜感,发现自己爱上了matlab以及DSP实验。

同时,自己对于窗函数的选择以及不同类型窗函数的不同滤波效果以及长度N的选择有了更深刻的认识。

整个实验过程中,遇到的困难也有,在选择快速傅里叶变换点数时要选择适宜的点数才能使得谱线清晰明了,这一点是通过慢慢调出来的。

在写代码过程中,也有不同的方案,选择最正确最简单的代码也是慢慢思考出来的。

期间也少不了上网搜集资料,从同学那儿寻求帮助。

这次对于matlab软件的使用使得自己在接下来的学习生活中应该会有比拟大的帮助,尤其是将要到来的数学建模比赛。

很感这次DSP软件实验的及时。

总之,这次实验顺利完成了,感教师和同学的帮助!

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

当前位置:首页 > 解决方案 > 学习计划

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

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