数字信号处理课程设计.(2)

2018-12-17 10:51

2个滤波器判断相应的数字或符号。另一种是用DFT(FFT)对双音多频信号进行频谱分析,由信号的幅度谱,判断信号的两个频率,最后确定相应的数字或符号。当检测的音频数目较少时,用滤波器组实现更合适。

此题目主要用到了Matlab中的FIR滤波器(fir2函数)、FFT函数。

五、 设计内容及要求

1、

DFT在信号频谱分析中的应用

1.1 用MATLAB语言编写计算序列x(n)的N点DFT的m函数文件DFTmatlab.m。并与MATLAB中的内部函数文件fft.m作比较。 DFTmatlab.m源程序如下: function[q]=DFTmatlab(xn,N)

n=[0:1:N-1]; %n取0到N-1 k=[0:1:N-1];

WN=exp(-j*2*pi/N); %求WN nk=n'*k;

WNnk=WN.^nk;

q=xn*WNnk %求出xn的DFT表达式

DFT与FFT计算时间比较的源程序: dft_time=zeros(1,100); for n=1:100;

t=clock;%clock %将当前时间作为日期向量返回 a=sin(n)+cos(n); DFTmatlab(a,n);

dft_time(n)=etime(clock,t);%etime指消耗的时间 end; n=1:100;

subplot(1,2,1);

plot(n,dft_time,'.'); %plot二维曲线图 xlabel('N');ylabel('time/s'); title('DFT');

fft_time=zeros(1,100); for n=1:1:100; t=clock;

a1=sin(n)+cos(n); fft(a1);

fft_time(n)=etime(clock,t);

6

end; n=1:100;

subplot(1,2,2); plot(n,fft_time,'.');

xlabel('N');ylabel('time/s'); title('FFT');

1.2 . 对离散确定信号x(n)?cos(0.48?n)?cos(0.52?n)作如下谱分析: (1) 截取使成为有限长序列N( ),(长度N自己选)写程序计算出 的N点DFT ,

并画出相应的幅频图 。 源程序如下: n = 0:99;

xn=cos(0.48*pi*n)+cos(0.52*pi*n); Xk = fft (xn, 100);

subplot(2,1,1); stem(n, xn); grid;

subplot(2,1,2); stem(n, abs(Xk)); grid;

(2)截取使其成为N点序列,补零加长至M点(长度M自己选),编写程序计算 的M点DFT ,并画出相应的图 。 源程序如下:

n=0:19; xn=cos(0.48*pi*n)+cos(0.52*pi*n); n1=0:24; xn1 =[xn, zeros(1,5)]; n2=0:59; xn2 =[xn, zeros(1,40)]; Xk1=fft(xn1,25); Xk2=fft(xn2,60);

subplot(3,1,1); stem(n, xn); grid;

subplot(3,1,2); stem(n1, abs(Xk1)); grid; subplot(3,1,3); stem(n2, abs(Xk2)); grid;

(3) 利用补零DFT计算N点有限长序列频谱并画出相应的幅频图 。 源程序如下:

n = 0:9; xn=cos(0.48*pi*n)+cos(0.52*pi*n); n1 = 0:99; xn3 = [xn, zeros(1,90)]; Xk3 =DFTmatlab(xn3, 100); plot(n1, abs(Xk3)); grid;

1.3 研究高密度谱与高分辨率频谱。

3对连续确定信号xa(t)?cos(2??6.5?10t?)cos(2???73t10?)cos(2???39t10)以采样频率fs=32kHz对信号 采样得离散信号,分析下列三种情况的幅频特性。 (1) 采集数据长度取N=16点,编写程序计算出 的16点DFT ,并画出相应的幅频图。

7

源程序如下: T=1/(32*10^3); t=(0:15);

xn=cos(2*pi*6.5*10^3*t*T)+cos(2*pi*7*10^3*t*T)+cos(2*pi*9*10^3*t*T); Xk=fft(xn,16);

subplot(2,1,1);stem(t,xn);grid;

subplot(2,1,2);stem(t,abs(Xk));grid;

(2) 采集数据长度N=16点,补零加长至M点(长度M自己选),利用补零DFT计算 的频谱并画出相应的幅频图 。

源程序如下: T=1/(32*10^3); t=(0:15);

xn=cos(2*pi*6.5*10^3*t*T)+cos(2*pi*7*10^3*t*T)+cos(2*pi*9*10^3*t*T); n1=0:50; xn1=[xn,zeros(1,35)]; Xk1=fft(xn1,51);

subplot(2,1,1);stem(n1,xn1);grid; subplot(2,1,2);plot(n1,abs(Xk1));grid;

(3) 采集数据长度取为M点(注意不是补零至M),编写程序计算出M点采集数据 的的频谱并画出相应的幅频图 。 源程序如下: T=1/(32*10^3); t=[0:50];

xn=cos(2*pi*6.5*10^3*t*T)+cos(2*pi*7*10^3*t*T)+cos(2*pi*9*10^3*t*T); Xk2=fft(xn,51);

subplot(2,1,1);stem(t,xn);grid;

subplot(2,1,2);plot(t,abs(Xk2));grid;

2、 双音多频拨号音编解码系统

2.1 设计内容

数字DTMF接收机通过接收到的双音信号的频谱,再现每个按键所对应的两个频率,从而确认被发送的电话号码。 DTMF拨号音编解码系统的技术指标要求如下: (1)采样频率:8kHz 。

(2)传输速率:10个数字/秒,或每个数字100ms。

(3)信号存在的时间t必须满足45ms≤t≤55ms,100ms里的其余时间是无声区。

8

(4)高频分量电平不能小于低频分量电平,且电平差不大于2dB±ldB。 (5)对于给定的拨号频率,允许的频率偏移为3%。 2.2 编写程序:

(1)编写用IIR系统产生余弦振荡波形的函数way—gener.m。 源程序如下: % wav_gener.m

function h = wav_gener(R,omega,N)

% w1 = 0; w2 = 0; delta = zeros(1,N); delta(1) = 1; % k = R * cos(omega); h = zeros(1,N); % for n = 1:N

% w0 = delta(n) + 2 * k * w1 -R^2 * w2;

% h(n) = w0 - k * w1; w2 = w1; w1 = w0; % end h=zeros(1,N); for n=1:N

h(n)=R*cos(omega*n); end

(2)编写产生DTMF信号的函数DTMF.m。 源程序如下: %dtmf.m

function x = dtmf(key);

fs = 8000; N = 0.1 * fs; %信号时间为100ms,N=Tpmin * Fs ;Tpmin根据频率分辨率得到,DTMF信号的最小频率间隔为73HZ,故至少需要110点 R = 1; fl = 0; fh = 0; switch key

case {'1','2','3'} fl = 697;

case {'4','5','6'} fl = 770;

9

case {'7','8','9'} fl = 852;

case {'*','0','#'} fl = 941; end switch key

case {'1','4','7','*'} fh = 1209; case {'2','5','8','0'} fh = 1336;

case {'3','6','9','#'} fh = 1477; end

x = wav_gener(R,2*pi*fl/fs,N) + wav_gener(R,2*pi*fh/fs,N); (3)编写带通滤波器函数。 低频滤波器源程序: % FindLowerFreq.m

function number = FindLowerFreq(Signal) Freq = [697,770,852,941]; temp = 0; for n = 1:length(Freq)

Wo = Freq(n); B = DesignLowerFilter(Wo);%设计带通滤波器,中心频率分别为697Hz,770Hz,852Hz,941Hz,当n=1时,中心频率为697Hz

Out = filter(B,1,Signal); %将要解码的某个拨号,比如‘1’所代表的DTMF信号,通过带通滤波器(n=1时,中心频率为697Hz),输出保存在Out中 Fout = max(abs(fft(Out))) ; % 计算输出out幅频响应的最大值(n=1时,表示通过中心频率为697Hz的带通滤波器的最大幅频输出值)。

%循环4次就知道,DTMF信号在经过中心频率分别为697Hz,770Hz,852Hz,941Hz的带通滤波器时,

%最大幅频值是经过哪个带通滤波器得到的,则DTMF信号的低频值就是

10


数字信号处理课程设计.(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:盐津县永丰矿业有限公司永丰煤矿整合技改施工组织设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: