第五章离散时间信号的数字处理
Q5.1运行程序P5.1,产生连续时间序号及其抽样形式,并显示它们。
clf;
t = 0:0.0005:1;
f = 13;
xa = cos(2*pi*f*t);
subplot(2,1,1)
plot(t,xa);grid
xlabel('时间, msec');ylabel('振幅');
title('连续时间序号 x_{a}(t)');
axis([0 1 -1.2 1.2])
subplot(2,1,2);
T = 0.1;n = 0:T:1;
xs = cos(2*pi*f*n);
k = 0:length(n)-1;
stem(k,xs);grid;
xlabel('时间 n');ylabel('振幅');
title('离散事件序号 x[n]');
axis([0 (length(n)-1) -1.2 1.2])
Q5.2 正弦信号的频率是多少赫兹?抽样周期是多少秒?
正弦信号的频率f=13Hz,抽样周期T=0.1s。
Q5.3 解释两个axis命令的效果。
给x,y轴标刻度。
Q5.4 以比在程序P5.1中列出的抽样周期低的两个抽样周期和高的两个抽样周期的四个其他值,运行程序P5.1.评论你的结果。
T=0.04s T=0.08s
T=0.15s T=0.3s
由上图可以发现:当取的T越小时,得到的图形越接近原图形。
Q5.5 通过将正弦信号的频率分别变为3HZ和7HZ,重做习题Q5.1。相应的等效离散时间信号与习题Q5.1中产生的离散时间信号之间有差别么?若没有,为什么没有?
f=3Hz f=7Hz
由图可以看出,变换频率得到的两个图没有区别,因为他们的抽样周期一样。
Q5.6 运行程序P5.2,产生离散时间信号x[n]及其连续时间等效ya[t],并显示它们。
clf;T = 0.1;f = 13;n = (0:T:1)';
xs = cos(2*pi*f*n);
t = linspace(-0.5,1.5,500)';
ya = sinc((1/T)*t(:,ones(size(n))) - (1/T)*n(:,ones(size(t)))')*xs;
plot(n,xs,'o',t,ya);grid;
xlabel('时间, msec');ylabel('振幅');
title('重构的连续时间序号 y_{a}(t)');
axis([0 1 -1.2 1.2]);
图1 图2
Q5.7 在程序P5.2中,t的范围和时间增量的值是什么?在图中,t的范围是什么?改变t的范围,显示上述程序所计算的全范围ya[t]并再次运行程序P5.2,。评论这种改变后产生的曲线。
t的范围是[-0.5 1.5],增量是0.004.在图中,t的范围是[0 1]。
T=[0 0.5]
如图2,改变后的图跟原来的图显示的波形差了点。时间T=0.5后边的只抽样。
Q5.8 恢复原始显示范围并通过分别改变正弦信号的频率3Hz和7Hz,重复程序P5.2。相应的等效离散时间信号与习题Q5.6中产生的离散时间信号有差别么?若没有,为什么没有?
f=3Hz f=7Hz
从上图可以看出两个频率得到的结果没有区别;因为选择的抽样周期相同,频率的不同不会影响离散时间信号。
Q5.9 在程序P5.3中,连续时间函数xa[t]是什么?xa[t]的连续时间傅里叶变换是如何计算
的?
连续时间函数:xa = 2*t.*exp(-t),
计算:wa = 0:10/511:10;ha = freqs(2,[1 2 1],wa);
Q5.10运行程序P5.3,产生并显示离散时间信号及其连续时间等效,以及它们各自的傅里叶变换。有任何明显的的混叠影响吗?
clf;t = 0:0.005:10;
xa = 2*t.*exp(-t);
subplot(2,2,1)
plot(t,xa);grid
xlabel('时间, msec');ylabel('振幅');
title('连续时间序号 x_{a}(t)');
subplot(2,2,2)
wa = 0:10/511:10;ha = freqs(2,[1 2 1],wa);
plot(wa/(2*pi),abs(ha));grid;
xlabel('频率, kHz');ylabel('振幅');
title('|X_{a}(j\Omega)|');
axis([0 5/pi 0 2]);
subplot(2,2,3)
T = 1;n = 0:T:10;
xs = 2*n.*exp(-n);
k = 0:length(n)-1;
stem(k,xs);grid;
xlabel('时间序号 n');ylabel('振幅');
title('离散时间信号 x[n]');
subplot(2,2,4)
wd = 0:pi/255:pi;hd = freqz(xs,1,wd);
plot(wd/(T*pi), T*abs(hd));grid;
xlabel('频率, kHz');ylabel('振幅');
title('|X(e^{j\omega})|');axis([0 1/T 0 2])
图1 图2
从图1可以看出,没有混叠影响。
Q5.11 将抽样周期增加到1.5,再运行程序P5.3.有任何明显的混叠影响吗?
从图2看出,没有明显的混叠影响。
Q5.12 对于的影响,修改程序P5.3,并重做系统Q5.10和Q5.11
将程序部分修改xa = exp(-pi.*t.*t),得到如下两图。
T=1 T=1.5
Q5.13 在程序P5.4中,通带波纹RP和最小阻带衰减RS是多少dB?通带和阻带边界频率是多少Hz?
通带波纹RP=0.5dB,最小阻带衰减RS=30dB;
通带边界频率3500Hz,阻带边界频率是4500Hz。
Q5.14 运行程序P5.4并显示增益响应。所设计的滤波器满足给定的指标么?所涉及的滤波器阶数N和单位为Hz的3dB截止频率是多少?
clf;
Fp = 3500;Fs = 4500;
Wp = 2*pi*Fp; Ws = 2*pi*Fs;
[N, Wn] = buttord(Wp, Ws, 0.5, 30,'s');
[b,a] = butter(N, Wn, 's');
disp(‘N=’);
disp(N);
disp(‘Wn=’);
disp(Wn)
wa = 0:(3*Ws)/511:3*Ws;
h = freqs(b,a,wa);
plot(wa/(2*pi), 20*log10(abs(h)));
grid
xlabel('频率, Hz');
ylabel('增益, dB');
title('增益响应');
axis([0 3*Fs -60 5]);
满足给定的指标。所涉及的滤波器阶数N是18,单位为Hz的3dB截止频率是2333.8Hz。Q5.15 用cheb1ord和cheby1修改程序P5.4,以设计与程序P5.4有着相同指标的一个切比雪夫1型低通滤波器。运行修改的程序并显示增益响应,所设计的滤波器满足给定的指标么?所涉及的滤波器阶数N和单位为Hz的通带边界频率是多少?
[N, Wn] = cheb1ord(Wp, Ws, 0.5, 30,'s');[b,a] = cheby1(N, 30,Wn, 's');
满足给定的指标
Q5.16 用cheb2ord和cheby2修改程序P5.4,以设计与程序P5.4有着相同指标的一个切比雪夫2型低通滤波器。运行修改的程序并显示增益响应,所设计的滤波器满足给定的指标么?所涉及的滤波器阶数N和单位为Hz的阻带边界频率是多少?
[N, Wn] = cheb2ord(Wp, Ws, 0.5, 30,'s');[b,a] = cheby2(N, 30,Wn, 's');
满足给定的指标
Q5.17 用ellipord和ellip修改程序P5.4,以设计与程序P5.4有着相同指标的一个椭圆低通滤波器。运行修改的程序并显示增益响应,所设计的滤波器满足给定的指标么?所涉及的滤波器阶数N和单位为Hz的通带边界频率是多少?
[N, Wn] = ellipord(Wp,Ws,0.5, 30,'s');
[b,a] = ellip(N,0.5,30,Wn, 's');
满足给定的指标
Q5.18 在程序P5.5中,运算符==的功能是什么?
==的功能是判断后边字符是否恒等于前边字符。
Q5.19 用程序P5.5对于字长值6和8,产生如下十进制小数的源码形式的二进制等效(a)
0.80165,(b)-0.80165,(c)0.64333,(d)-0.9125。通过手算验证结果。
d = input('输入十进制小数 = ');
b = input('输入所需的字长 = ');
d1 = abs(d);
beq = [zeros(1,b)];
for k = 1:b
int = fix(2*d1);
beq(k) = int;
d1 = 2*d1 - int;
end
if sign(d) == -1;
bin = [1 beq];
else
bin = [0 beq];
end
disp('二进制等效是');
disp(bin)
Q5.20 使用程序P5.6确定习题Q5.19中产生的二进制小数的十进制等效。你的答案和原十进制小数有多接近?
bin = input('输入二进制小数 = ');
b = length(bin) - 1; d = 0;
for k = 1:b
d = d + bin(k+1)*2^(-k);
end
if sign(bin(1)) == 0;
dec = d;
else
dec = - d;
end
disp('十进制等效是 ');
disp(dec);
所得结果均为0,跟原来的不接近。
Q5.21 在程序P5.7中,运算符~的目的是什么?
~目的是取反。
Q5.22 使用程序P5.7,确定并验证习题Q5.19中展开的二进制的反码表示。
bin = input('输入二进制数 = ');
if sign(bin(1)) == 0;
onescomp = bin;
else
bin(1) = 0;onescomp = ~bin;
end
disp('反码等效是');
disp(onescomp);
Q5.23 在程序P5.8中,运算符|和&的目的是什么?
|代表或,&代表与。
Q5.24 使用程序P5.8确定并验证在习题Q5.19中生成的二进制数的补码表示。
b = input('输入二进制小数 = ');
F = length(b);
twoscomp = ones(1,F);
c = 1;
for k = F:-1:2
if b(k) & c == 1;
twoscomp(k) = 0; c = 1;
else
twoscomp(k) = b(k) | c; c = 0;
end
end
disp('补码等效是 = ');
disp(twoscomp)
Q5.25 编写一个MATLAB程序,确定并在同一幅图上画出未经补偿的及经过偏差补偿的数模转换器的幅度响应。使用式(5.29)和式(5.30)给出的两个有限冲激响应和无限冲击响应偏差补偿滤波器。运行程序并讨论你的结果。
T=1.0;
wa=0:(pi/T)/511:(pi/T);
Lwa=length(wa);
Hra=T*ones(1,length(wa));
Hza=zeros(1,Lwa);
Hza(1)=1;
wa2=wa(2:Lwa);
Hza(2:Lwa)=exp(-i*wa2*T*0.5).*sin(0.5*T*wa2)./(0.5*T*wa2);
MagHza=abs(Hza);
GainHza=20*log10(MagHza);
Hfira=(1/16)*(-1+18*exp(-i*wa*T)-exp(-i*2*T*wa));
HfiraComp=Hfira.*Hza;
MagHfiraComp=abs(HfiraComp);
GainHfiraComp=20*log10(MagHfiraComp);
Hiira=9*ones(1,Lwa)./(8+exp(-i*wa*T));
HiiraComp=Hiira.*Hza;
MagHiiraComp=abs(HiiraComp);
GainHiiraComp=20*log10(MagHiiraComp);
plot(wa,GainHza,wa,GainHfiraComp,'--',wa,GainHiiraComp,'--');
grid;
xlabel('振幅');
ylabel('增益,dB');
axis([0 pi/T -4 1]);
legend('DAC','FIR','IIR');
DSP 原理与应用The Technology & Applications of DSPs 第五章: TMS320F28335片内外设 北京交通大学电气工程学院 夏明超郝瑞祥万庆祝 mchxia@https://www.wendangku.net/doc/0913242063.html, haorx@https://www.wendangku.net/doc/0913242063.html, qzhwan@https://www.wendangku.net/doc/0913242063.html, :TMS320F28335第五讲: TMS320F28335片内外设教学目标:
掌握TMS320F28335内核结构,例如A/D转换、串行通信接口、串行外设接口。 外设接重点: TMS320F28335A/DCS308335内部/C 的正确使用,串行通信接口应用。难点: TMS320F28335的ADC 寄存器操作和串行通信寄存器操作。教学内容分两部分 51§5.1:TMS320F28335内模拟/数字转换 §5.2 :TMS320F28335系列串行通信接口SCI 和Modbus 协议介绍DSP 原理与应用2
DSP 原理与应用3 ADC 有关引脚
§5.1 TMS320F28335 内模拟/数字转换§5.1 .1Features and functions of ADC module:◆core with built-in dual sample-and-hold◆Simultaneous sampling or sequential sampling modesp g q p g ◆Analog input: ◆Fast conversion time runs at ADC clock or Fast conversion time runs at , ADC clock, or 6.25 MSPS multiplexed inputs ◆, multiplexed inputs◆capability provides up to 16 " t i " i i l i E h i "autoconversions" in a single session. Each conversioncan be to select any 1 of 16 input channels.DSP 原理与应用4 Sequencer can be operated as two independent 8-state ◆Sequencer can be operated as two independent 8-state sequencers or as one large 16-state sequencer (i.e., two cascaded 8-state sequencers two cascaded 8state sequencers.◆(individually addressable to store conversion values store conversion values A/DC digital value:
第五章FIR 滤波器的设计附加题 1. 一FIR 数字滤波器的传输函数为 12341()[1242]30 H z z z z z ----=++++ 求()h n 、幅度()H ω、和相位()?ω。 2. 一个FIR 线性相位滤波器的h(n)是实数,且n<0和n>6时,h(n)=0。如果h(0)=1且系统函数在30.5j z e π=和z = 3处各有一个零点,求()H z 。 3. 如图所示h 1(n)为N=8的偶对称序列,h 2(n)为其循环右移4位后的序列。 设H 1(k)=DFT [ h 1(n) ],H 2(k)=DFT [ h 2(n) ] (1)问 | H 1(k)| = | H 2(k)| 吗?1()k θ与2()k θ的关系是什么? (2)若h 1(n)、h 2(n)各构成一个低通滤波器,问它们是否是线性相位的?延时分别是多少? (3)两个滤波器的性能是否相同? h 1(n) h 2(n) 4. 用矩形窗设计一线性相位FIR 低通数字滤波器 0()0j a c j d c e H e ωωωωωωπ-?≤≤?=?<≤?? (1)求h d (n); (2)求h(n),并确定a 与N 的关系; (3)讨论N 取奇数和偶数对滤波器性能有什么影响。 5. 设计一个线性相位FIR 低通滤波器,给定抽样频率为42**1.5*10(/sec)s pi rad Ω=,通带截止频率为32**1.5*10(/sec)p pi rad Ω=,阻带起始频率为32**3*10(/sec)st pi rad Ω=,阻带衰减不小于-50db 。 6. 选择合适的窗函数设计FIR 数字滤波器:通带衰减为0dB ,阻带衰减为40dB ,通带边缘频率为1kHz ,阻带边缘频率为2.5kHz ,采样频率为12kHz 。