最新DSP课程设计(电信版,供参考)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
D S P课程设计(电信版,
供参考)
精品好文档,推荐学习交流
DSP原理与接口技术
课程设计报告
基于DSP开发板的语言信号滤波处理
姓名:
班级: 09电信1
学号: 2009305901
2009305901
2009305901
指导老师:徐梅宣,孙道宗
日期: 2012. XX.XX~2012.XX.XX
华南农业大学工程学院
摘要
通过语音传递信息是人类最重要、最有效、最常用、最方便的交换信息的方法,因此,如何去除混杂在有用信号中的噪声并获得低损甚至无损的有用语音信号成为语音信号处理(即用数字信号处理技术和语言学知识对语音信号进行处理并提取有用信息)至关重要的问题。但是因为语音识别技术对信号噪声非常敏感,系统本身和器件对系统的处理结果都有着不可忽视的干扰,因此很难实现效果较好的语音信号滤波处理。而DSP 因为运算速度快,片上资源丰富和能够实现复杂的线性和非线性算法等特性,在语音信号处理技术方面有明显的优势。虽然DSP自身在一定程度上也是语音信号干扰源,但综其上述良好特性,以及干扰源的不可避免性,我们选择用DSP实现语音信号滤波处理。
为了实现基于DSP开发板的语音信号滤波处理,我们对混杂噪声信号的有用信号音频进行时域和频谱分析,得出其频谱特性后,在软件编程方面,我们用汇编语言在CCS 中设计出三个滤波器,分别是:低通滤波器、高通滤波器以及带通滤波器,同时实现
A/D和D/A转换。在硬件方面,通过接口电路从电脑下载混杂噪声的有用音频,以及将程序下载到芯片中。语音信号在硬件电路芯片上进行ADC转换变为数字信号,通过滤波、压缩等变化滤去噪声之后再进行DA转换返回模拟语音信号并从硬件电路输出。从而实现DSP的语音信号滤波处理。
关键词:语音信号处理滤波 DSP
目录
摘要 (i)
1 方案比较与选择 (1)
1.3方案选择 (6)
3软件编程实现分功能模块写,代码&代码功能说明,以及代码算法思想,和流程图.. 11 3.1音频文件生成 (15)
[y,fs,nbits]=wavread('dsp.wav'); (15)
y=y(:,1); (15)
n=length(y); (15)
f=fs*(0:511)/1024; (15)
t=0:1/22050:(n-1)/22050; (15)
Au=0.3; (15)
d=[Au*cos(pi*6000*t)]'; %噪声为6kHz的余弦信号 (15)
x2=y+d; %加噪声后的语音信号 (15)
%sound(x2,fs); %播放加噪声后的语音信号 (15)
wavwrite(x2,'input.wav'); (16)
n2=length(x2); (16)
y1=fft(y,n); (16)
y2=fft(x2,1024); (16)
figure(1); (16)
subplot(2,1,1); (16)
plot(y); (16)
title('原始的信号波形'); (16)
subplot(2,1,2); (16)
plot(x2); (16)
title('加噪后的信号波形'); (16)
figure(2); (16)
plot(f,abs(y2(1:512))); (16)
title('噪音信号频谱'); (16)
figure(3); (16)
subplot(2,1,1) (16)
plot(abs(y1));title('原始信号频谱'); (16)
subplot(2,1,2) (16)
plot(abs(x2)); (16)
title('加噪后信号频谱'); (16)
xout=x2/max(x2);% 归一化? (16)
xto_ccs=round(32767*xout) ; (16)
%clear playsnd; (16)
fid=fopen('dspindata.dat','w');% 打开文件 (16)
fprintf(fid,'1651 1 0 0 0\n');% 输出文件头 (16)
fprintf(fid,'%d\n',xto_ccs);% 输出 (17)
fclose(fid); (17)
用Malab生成混入杂声后的音频文件 (17)
3.2音频数据读入: (17)
STM #temp,AR1 ;temp存输入左声道样本 (17)
STM #temp+1,AR2 ;temp+1存输入右声道样本 (17)
LDM DRR10,A (17)
STL A,*AR1 ;AR1存左声道,AR2存右声道 (17)
LDM DRR20,A (17)
STL A,*AR2 (17)
分左右声道分别读入音频样本数据,放入寄存器,等待进行处理 (17)
3.3判断是否进入FIR处理的分支: (17)
STM #Echo,AR4 ;是否FIR处理的分支 (17)
CMPM *AR4,#1 (17)
BC FIR,TC (17)
B NOFIR (17)
根据寄存器数据内容,判断是否进入FIR处理的分支 (17)
3.4FIR处理分支内容(核心部分) (17)
FIR:SSBX FRCT (17)
STM #temp,AR1 ;temp存输入左声道样本 (17)
LD *AR1,A ; (17)
STM #buffer+1,AR3 ; (17)
STL A,*AR3 ;将最新样本存入fx[1],fx[0]保留空间,存FIR后的输出暂存 (17)
STM #buffer+25,AR2 ;将AR2指针指向最高位(最老数据) (17)
RPTZ A,#24 ;24 (17)
MACD*AR2-,COEF,A (17)
STH A,*AR2 ;把FIR后的数据放在fx[0] (18)
RSBX FRCT (18)
LD *AR2,A (18)
STLM A,DXR10 ;把FIR后的数据输出语音端口 (18)
NOP (18)
STLM A,DXR20 ;这里两个声道一起输出同一个数据 (18)
RSBX FRCT (18)
NOP (18)
B L1 (18)
把读入的声音样本数据在芯片内进行FIR处理 (18)
4结果分析 (18)
5问题,调试 (20)
附录 (23)