求单边指数信号f(t)=e^(-3t)*U(t)的傅里叶变换公式,画出其在区间[-pi,pi]的幅度谱用matlab求大神

信号与系统试题三及答案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
信号与系统试题三及答案
上传于||暂无简介
阅读已结束,如果下载本文需要使用
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩10页未读,继续阅读
你可能喜欢6237人阅读
P12:复习思考题(1.4);习题(1.3,1.5)
题1-3. 一组电压值为x=[0:0.5:4],经过一个把-5~5伏正电压转换为12位(包括符号位)二进制的 A/D转换器,求输出的量化电压的二进制代码,并求经D/A转换后的量化电压值。
x=[0:0.5:4]; % 输入量数组
y=bqtize(x,11,5) % 量化后输出
deltax=5*2^-11 % 量化步长值
yc=round(y/deltax) % 此输出对应的量化单位数(十进制)
yb=dec2bin(yc,12) % 此输出对应的量化单位数(12位二进制)
注:bqtize.m文件在subrtdsp文件夹下
function y=bqtize(x,N,V)
%《数字信号处理教程&&MATLAB释义与实现》
% 绝对量化子程序
% 电子工业出版社出版 陈怀琛编著 2004年9月
% function y=bqtize(x,N,V)
% -------------------------------------------
% 将x数组按最大幅度V量化为N位二进制的步长进行量化
% x--任意实数
% N--量化为二进制的位数(不计符号位)
% V--规定的最大幅度,缺省值是V=max(abs(x))
if nargin&3 V=max(abs(x));end
ax=abs(x); % 去掉符号
deltax=V/(2^N-1); % 求量化步长
% 将x用deltax四舍五入量化为整数
xint=fix(ax./deltax+0.5);&&&&
y=sign(x).*xint.* % 再将此整数缩小2^-(N-m),恢复量化后的原值
% chapter1, exercise1.5
% define the constant
ns = 10^(-9);
ms = 10^(-3);
sample_interval = 0.1 *
process_interval = (10 * ns) * 4 + (0.5 * ns) * 2;
channals = floor(sample_interval / process_interval)
P37-P39:复习思考题(2.1,2.10,2.11);习题(2.3,2.6,2.11(b),2.13,2.14,2.17)
题2-3. 令x(n) = [1,-2,4,6,-5,8,10]. 产生并画出下列序列的样本.
x1(n)=3x(n+2)+x(n-4)-2x(n)
解:解题的程序为:
x = [1,-2,4,6,-5,8,10]; nx=[1:7]
[y1,ny1]=seqshift(x,nx,-2) % y1(n)=x(n+2)
[y2,ny2]=seqshift(x,nx,4) % y2(n)=x(n-4)
[y3,ny3]=seqadd(3*y1,ny1,y2,ny2) % y3(n)=3x(n-2)+x(n-4)
[x1,nx1]=seqadd(y3,ny3,-2*x,nx) % x1(n)=y3(n)-2x(n)
stem(nx1,x1)
答案 x1= 3 -6 10 22 -23 12 41 -18 -16 6 -5 8 10 nx1= [-1:11]
题2-6 一个特定的线性和时不变系统,描述它的差分方程如下:
y(n)+0.1y(n-1)-0.06y(n-2) = x(n)-2x(n-1)
求系统脉冲响应的前10个样本。
解:程序为
a=[1,0.1,0.06]; b=[1,-2];
x=impseq(0,0,10);
h=filter(b,a,x),stem(h)
h1=impz(b,a)
程序运行的结果为:h = 1.0 0.0 -0.6 0.1 -0.0 0.0000
h1' = 1.0 0.0 -0.6 0.0017
可见impz函数自动甩掉了数值很小的脉冲响应尾部数据,只取了8个样本。
题2-11(b)
%《数字信号处理教程&&MATLAB释义》:陈怀琛编著
% 第二章 习题(参考解答)
% P38 2.11
% 浙江大学生仪学院 陈玮
% 题目条件:
n1 = -10 : 20;
n2 = 0 : 30;
x2 = cos(0.1*pi*n2);
n3 = -5 : 10;
x3 = 1.2 .^ n3;
% 验证交换律
[y12, n12] = convwthn(x1, n1, x2, n2);
[y21, n21] = convwthn(x2, n2, x1, n1);
err1 = sum(y12 - y21)
errn1 = sum(n12 - n21)
%验证结合律
[y23, n23] = convwthn(x2, n2, x3, n3);
[y12_3, n12_3] = convwthn(y12, n12, x3, n3);
[y1_23, n1_23] = convwthn(x1, n1, y23, n23);
err2 = sum(y12_3 - y1_23)
errn2 = sum(n12_3 - n1_23)
%《数字信号处理教程&&MATLAB释义》:陈怀琛编著
% 第二章 习题(参考解答)
% P38 2.13
% 浙江大学生仪学院 陈玮
% 题目条件:
x = [5, 3, -2, 0, -3];
h = [4, -3, 2, 1];
C = [h(1), zeros(1, length(x) - 1)];
R = [h, zeros(1, length(x) - 1)];
H = toeplitz(C, R);
y = x*H % 用向量-矩阵乘法
y2 = conv(x,h)%用conv函数
y3 = H' * x'%用矩阵-向量乘法
%《数字信号处理教程&&MATLAB释义》:陈怀琛编著
% 第二章 习题(参考解答)
% P38 2.14
% 浙江大学生仪学院 陈玮
% 题目条件:
h = [4, 3, 2 -1];
y = [20, -5, 7, -18, 2, -9, 3];
lengthx = length(y) - length(h) + 1
C = [h(1), zeros(1, lengthx - 1)];
R = [h, zeros(1, lengthx - 1)];
H = toeplitz(C, R);
% H' * x' = y'; x' = H' / y'
x = H' / y';
x2 = deconv(y,h);
%《数字信号处理教程&&MATLAB释义》:陈怀琛编著
% 第二章 习题(参考解答)
% P38 2.17
% 浙江大学生仪学院 陈玮
% 题目条件:
a = [1, 0.1, -0.06];
b = [1, -2];
h = impz(b, a);
P84-P85:复习思考题(3.1,3.2,3.3,3.10,3.11,3.13);习题(3.1,3.2,3.4,3.5,3.10,3.15,3.26,3.27(a)(b))
根据本书P40(式3.1.5)得出,模拟正弦信号的频率f0与采样频率Fs之比为两个整数之比。注意,此处k为模拟信号的同期数,N为序列每个周期的长度。
(a)f0 = 2.5/2*pi,无法满足k/N,k与N均为整数的条件,故此序列非周期序列
(b)f0 = 4.8*pi/2*pi = 2.4, 若取k/N = 12/5*Fs,则N的最小值在k=12时取得,N=5
(c)f0 = 2.8*pi/2*pi=1.4, 若取k/N = 7/5*Fs,则N的最小值在k=7时取得,N=5
(d)f0 = (7*pi/17)/2*pi=7/34; 若取k/N = 7/34*Fs,则N的最小值在k=7时取得,N=34
(e)如果一个函数由几部分组成,这个函数的周期是每个函数的最小周期的分子的最小公倍数除以分母的最大公约数。
f1=1.2*pi=6*pi/5,f2=0.8*pi=4*pi/5,则f0=最小公倍数(6,4)/最大公约数(5,5)=12/5
若取k/N = 12/5*Fs,则N的最小值在k=12时取得,N=5
用matlab画图如下:
绘图程序:
%《数字信号处理教程&&MATLAB释义》:陈怀琛编著
% 第二章 习题(参考解答)
% 浙江大学生仪学院 陈玮
% 题目条件:
na = 0:20;
ta = 0:0.1:20;
xta = sin(2.5*ta);
xa = sin(2.5*na);
subplot(5,1,1);stem(na,xa);plot(ta, xta, 'r');ylabel('xa');
tb = 0:0.005:8;
xb = sin(4.8*pi*nb);
xtb = sin(4.8*pi*tb);
subplot(5,1,2);stem(nb,xb);plot(tb, xtb,'r');ylabel('xb');
tc = 0:0.01:8;
xc = exp(j*2.8*pi*nc);
xtc = exp(j*2.8*pi*tc);
subplot(5,1,3);stem(nc,xc);plot(tc, xtc,'r');ylabel('xc');
nd = 0:44;
td = 0:0.01:44;
xd = cos(7/17*pi*nd);
xtd = cos(7/17*pi*td);
subplot(5,1,4);stem(nd,xd);plot(td, xtd,'r');ylabel('xd');
te = 0:0.01:8;
xe = 3*sin(1.2*pi*ne + 0.65*pi) + 4*sin(0.8*pi*ne) - cos(0.8*pi*ne);
xte = 3*sin(1.2*pi*te + 0.65*pi) + 4*sin(0.8*pi*te) - cos(0.8*pi*te);
subplot(5,1,5);stem(ne,xe);plot(te, xte,'r');ylabel('xe');
根据(式3.1.5),f0 = (k/N)*Fs
本题中Fs1 = 2Hz, Fs2 = 1/0.1s=10Hz,因此,求得f01与f02分别为:
(a)f0 = 2.5/2*pi,无法满足k/N,k与N均为整数的条件,故此序列非周期序列
(b)f0 = 4.8*pi/2*pi *Fs= 2.4*Fs, 若取k/N = 12/5*Fs,则N的最小值在k=12时取得,N=5
f01=4.8Hz,f02=24Hz
(c)f0 = 2.8*pi/2*pi=1.4*Fs, 若取k/N = 7/5*Fs,则N的最小值在k=7时取得,N=5
f01=2.8Hz,f02=14Hz
(d)f0 = (7*pi/17)/2*pi=7/34*Fs; 若取k/N = 7/34*Fs,则N的最小值在k=7时取得,N=34
f01=7/17Hz,f02=35/17Hz
(e)如果一个函数由几部分组成,这个函数的周期是每个函数的最小周期的分子的最小公倍数除以分母的最大公约数。
f1=1.2*pi=6*pi/5,f2=0.8*pi=4*pi/5,则f0=最小公倍数(6,4)/最大公约数(5,5)=12/5
若取k/N = 12/5*Fs,则N的最小值在k=12时取得,N=5
f01=24/5Hz,f02=24Hz
题3-3(本题暂未经验证,有同学们发现错误,请指正)
解析法求时可利用DTFT的性质及基本函数的DTFT变换表求得:
(a)X(jw) = 5*(1-0.8* exp(-jw))^-1
(b) 利用时移特性,先令n=m+2。
X(jw) = 2*0.95^4*(1-0.95* exp(-jw)) ^-1
(c) 利用频域导数定理有:
X(jw)=0.6*exp(-jw)*(1-0.6*exp(-jw))^-2
(d) 利用频域卷积定理有:
5*pi*((1+0.8* exp(-j(w-0.1*pi-2*k*pi)))^-1 + (1+0.8* exp(-j(w+0.1*pi-2*k*pi)))
(e)令m=n-2,则有x(n)=(m+3)(-0.8)^m*u(m);
X(jw)=-0.8exp(-jw)*(1+0.8exp(-jw))^-2 + 3*(1+0.8* exp(-jw))^-1
画图大家可以将w域的主值区间[-pi,pi]进行等分后画出,一般100等分总够了。
% 第三章 习题(参考解答)
% 浙江大学生仪学院 陈玮
% 题目条件:
function [X, w, n] = mydtft(x,w,n)
%计算离散时间傅里叶变换
%&&&&&&&&&&&
% [X] = mydtft(x,w,n)
% X = 在w频率点上的DTFT向量
% x = 有限长输入序列
% w = 频率点位置向量
% n = 样本位置向量,缺省时取为x的长度
if(nargin & 1)
error('no args! please use: help mydtft');
if(nargin & 3)
n = 1:length(x);
if(nargin & 2)
w = -pi : 2*pi/K:
Wnk = exp(-j) .^ W;
Test程序:
x = ones(1,20);
w = linspace(-4,4, 1000);
[X, w, n] = mydtft(x, w);
subplot(3,1,1);plot(w,X);
[X, w, n] = mydtft(x);
subplot(3,1,2);plot(w,X);
X = fftshift(fft(x, 100));
subplot(3,1,3);plot(w,X);
题3-15 12点序列x(n)为: x(n)={ -3,-2,3,4,2,-1,-1,2,4,3,-2,-3}
(a). 求出x(n)的DFT X(k),画出它的幅度和相位曲线(使用 stem函数)。
(b).用MATLAB画出x(n)的DTFT X(ejw)的幅度和相位曲线。
(c).验证(a)中的DFT是X(ejw)的采样。采用hold函数把两图放在一幅图里。
(d).有无可能从DFT X(k)重构DTFT X(ejw)?如果可能,给出重构所需要的内插公式;若不可能,说明不能重构的理由。
解:程序为
x=[ -3,-2,3,4,2,-1,-1,2,4,3,-2,-3];
n=0:11;X=fft(x,12);
subplot(2,1,1),stem([0:11]/12*2*pi,abs(X)),hold on
subplot(2,1,2),stem([0:11]/12*2*pi,angle(X)),hold on
k=0:1023;XDT= x*exp(j*2*pi/1024*n'*k);
subplot(2,1,1),
plot([0:*2*pi,abs(XDT),'r'),hold on
subplot(2,1,2),
plot([0:*2*pi,angle(XDT),'r'),hold on
从图中可以进行讨论。
%《数字信号处理教程&&MATLAB释义》:陈怀琛编著
% 第三章 习题(参考解答)
% P86 3.26
% 浙江大学生仪学院 陈玮
% 题目条件:
% 频率循环卷积
% y = circonvf(x1,x2,N)
% Y 长度为N的卷积结果
% x1 长度&=N的输入序列
% x2 长度&=N的输入序列
% N,循环缓冲器的长度
function [y] = circonvf(x1, x2, N)
if(nargin & 3)
if(nargin & 2)
error('at least tow argument, x1, x2');
N = max(length(x1), length(x2));
if(max(length(x1), length(x2)) & N)
x1 = [x1, zeros(1, N-length(x1))];
x2 = [x2, zeros(1, N-length(x1))];
X1 = fft(x1, N);
X2 = fft(x2, N);
Y = X1 .* X2;
y = ifft(Y, N);
测试命令:
x1 = randn(1, 8);
x2 = randn(1, 8);
y =circonvf(x1,x2,8)
y =circonvf(x1,x2)%N缺省时调用
y =circonvf(x1)%参数不够的情况下调用
y =circonv(x1,x2,8)%调用矩阵-向量乘积写成的循环卷积程序
本题可通过fft函数直接求得,故不给出详细解答。注意R200(n)表示宽度为1到200的矩形窗,其实即限定了n的取值范围而已。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:173782次
积分:1444
积分:1444
排名:第16456名
原创:31篇
评论:44条
(2)(1)(1)(2)(2)(3)(1)(2)(4)(2)(2)(8)(3)测试技术课后题答案1信号描述_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
测试技术课后题答案1信号描述
上传于||暂无简介
阅读已结束,如果下载本文需要使用
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩5页未读,继续阅读
你可能喜欢2011年12月考试信号与系统第一次作业_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
2011年12月考试信号与系统第一次作业
上传于||暂无简介
阅读已结束,如果下载本文需要使用
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩40页未读,继续阅读
你可能喜欢

我要回帖

更多关于 快速傅里叶变换 的文章

 

随机推荐