课程实验报告
题 目: 连续时间信号的卷积
及信号的频域分析
学 院
学 生 姓 名
班 级 学 号
指 导 教 师
开 课 学 院 通信与信息工程学院
日 期
实验内容:(一)连续时间信号的卷积
问题1:用计算机算卷积是把连续信号进行采样,得到一个个离散数值,然后用数值计算代替连续信号的卷积,请推导数值计算与连续信号的卷积之间的关系。
(学生回答问题)
解:连续函数和 (F2-1)若和分别在时间区间和有非零的值,则
要使为非零值,必须有=1和=1 从而,应同时满足: 和,即。
由此得出结论:若和分别仅在时间区间和有非零的值,则卷积有非零值得时间区间为。
对卷积公式(F2-1)进行数值计算是近似为:,记作 (F2-2)式中,分别为对和以为时间间隔进行采样所得的离散序列。相应的可得出结论:若分别仅在序号区间[]和[] 有非零的值,则离散卷积(卷积和)有非零值的序号区间为[]。
上机题1.已知两个信号和,试分别画出和卷积的波形。
(上机原程序及所画出的波形图)
T=0.01;
t1=1;t2=2;
t3=0;t4=1;
t=0:T:t2+t4;
x1=ones(size(t)).*((t>t1)-(t>t2));
x2=ones(size(t)).*((t>t3)-(t>t4));
y=conv(x1,x2)*T;
subplot(3,1,1),plot(t,x1);
ylabel('x1(t)');
subplot(3,1,2),plot(t,x2);
ylabel('x2(t)');
subplot(3,1,3),plot(t,y(1:(t2+t4)/T+1));
ylabel('y(t)=x1*x2');
xlabel('----->t/s');
上机题2.已知两个信号和,试用数值计算法求卷积,并分别画出和卷积的波形。
(上机原程序及所画出的波形图)
t2=3;t4=11;
T=0.01;
t=0:T:t2+t4;
x=exp(-t).*((t>0)-(t>t2));
h=t.*exp(-t/2).*((t>0)-(t>t4));
y=conv(x,h)*T
yt=4*exp(-t)+2*t.*exp(-1/2*t)-4*exp(-1/2*t);
subplot(3,1,1),plot(t,x);
ylabel('x(t)');
subplot(3,1,2),plot(t,h)
ylabel('h(t)');
subplot(3,1,3),plot(t,y(1:(t2+t4)/T+1),t,yt,'--r');
legend('by numerical','Theoretical');
ylabel('y=x*h');
xlabel('----->t/s');
实验内容:(二)信号的频域分析
上机题3.求周期矩形脉冲信号的频谱图,已知
(上机原程序及所画出的波形图)
a=1;tao=0.1;t=0.5;
n0=t/tao;
n=0:2*n0;
fn_p=a*tao/t*(sin(n*pi*tao/t+eps*(n==0)))./(n*pi*tao/t+eps*(n==0));
fn_pabs=abs(fn_p);
fn_pang=angle(fn_p);
fn_mabs=fliplr(fn_pabs(2:11));
fn_mang=-fliplr(fn_pang(2:11));
fnabs=[fn_mabs fn_pabs];
fnang=[fn_mang fn_pang];
subplot(2,1,1),stem((-2*n0:2*n0),fnabs);
text(4,0.11,'amplitude spectrum');
subplot(2,1,2),stem((-2*n0:2*n0),fnang);
text(-2,2,'phase spectrum');
xlabel('n');grid
问题2:改变信号的周期,比较他们的计算结果。
(学生通过上机画出不同周期对应的计算结果并回答问题)
>> m=16;
>> T=2;tao=0.5;
>> f0=1/T;fc=2;
>> dt=T/m;
>> n=0:m-1;
>> t=n*dt;
>> xt1=(1-t/tao).*((t>=0)-(t>=tao));
>> xt2=(t/tao+1-2/tao).*(t>=2-tao);
>> xt=xt1+xt2
xt =
Columns 1 through 6
1.0000 0.7500 0.5000 0.2500 0 0
Columns 7 through 12
0 0 0 0 0 0
Columns 13 through 16
0 0.2500 0.5000 0.7500
>> H=ones(size(n)).*((n>=m/2-fc/f0)-(n>m/2+fc/f0));
>> xn=fft(xt);
>> cn=fftshift(xn/m);
>> yn=cn.*H;
>> yt=ifft(yn)*m;
>> subplot(3,2,1),stem((n-m/2)*f0,cn);
>> text(-3,0.3,'spectral coefficients of x(t)');
>> subplot(3,2,3),plot(n-m/2*f0,H);
>> text(-1,0.5,'H(f)');
>> subplot(3,2,5),stem((n-m/2)*f0,yn);
>> text(-3,0.3,'output spectral coefficients');
>> xlabel('---->f/Hz')
>> subplot(3,2,2),plot(t,xt);
>> text(0.5,0.5,'input function xT(t)');
>> subplot(3,2,6),plot(t,abs(yt));
>> text(0.5,0.8,'output function');
>> xlabel('---->t/s')
>>下载本文