信号抽样实验报告

大连理工大学实验报告

学院(系):      专业:      班级:           

姓     名:          学号:             组:          ___  

实验时间:       实验室:                   实验台:            

指导教师签字:                                            成绩:              

实验三 信号抽样

一、实验目的

1         学会运用MATLAB完成信号抽样及对抽样信号的频谱进行分析;

2         学会运用MATLAB改变抽样间隔,观察抽样后信号的频谱变化;

3         学会运用MATLAB对抽样后的信号进行重建。

二、习题

1.         设有三个不同频率的正弦信号,频率分别为 。现在用抽样频率对这三个正弦信号进行抽样,用MATLAB命令画出各抽样信号的波形及频谱,并分析频率混叠现象。

解:分别写出三个频率正弦波的代码与图形:

f1=100HZ的正弦信号)

代码如下:

Ts=1/3800;

dt=0.0001;

t1= -0.008:dt:0.008;

ft=sin(2*pi*100*t1).*(uCT(t1+0.005)-uCT(t1-0.005));

subplot(221);

plot(t1,ft), grid on;

axis([-0.006 0.006 -1.1 1.1]);

xlabel('Time(sec)'),ylabel('f(t)')

title('正弦信号波形 ');

N=5000;

k = -N:N;

W = 2*pi*k/((2*N+1)*dt);

Fw= dt*ft*exp(-j*t1'*W);

subplot(222);

plot(W,abs(Fw));

grid on;

axis([-30000 30000 0 0.006]);

xlabel('\omega'),ylabel('F(w)');

title('正弦信号的频谱');

t2=-0.008:Ts:0.008;

fst=sin(2*pi*100*t2).*(uCT(t2+0.005)-uCT(t2-0.005));

subplot(223);

plot(t1,ft,':'),hold on;

stem(t2,fst),grid on;

axis([-0.005 0.005 -1.1 1.1]);

xlabel('Time(sec)'),ylabel('fs(t)');

title('抽样后的信号'),hold off;

Fsw= Ts*fst*exp(-j*t2'*W);

subplot(224);

plot(W,abs(Fsw)), grid on;

axis([-30000 30000 0 0.006]);

xlabel('\omega'),ylabel('Fs(w)');

title('抽样信号的频谱');

matlab波形如下:

其中单个正弦信号(未经抽样)的频谱放大后如下:

(200HZ的正弦信号)

代码如下:

Ts=1/3800;

dt=0.0001;

t1= -0.003:dt:0.003;

ft=sin(2*pi*200*t1).*(uCT(t1+0.0025)-uCT(t1-0.0025));

subplot(221);

plot(t1,ft), grid on;

axis([-0.003 0.003 -1.1 1.1]);

xlabel('Time(sec)'),ylabel('f(t)')

title('200HZ正弦信号波形 ');

N=5000;

k = -N:N;

W = 2*pi*k/((2*N+1)*dt);

Fw= dt*ft*exp(-j*t1'*W);

subplot(222);

plot(W,abs(Fw));

grid on;

axis([-30000 30000 0 0.003]);

xlabel('\omega'),ylabel('F(w)');

title('200HZ正弦信号的频谱');

t2=-0.003:Ts:0.003;

fst=sin(2*pi*200*t2).*(uCT(t2+0.0025)-uCT(t2-0.0025));

subplot(223);

plot(t1,ft,':'),hold on;

stem(t2,fst),grid on;

axis([-0.003 0.003 -1.1 1.1]);

xlabel('Time(sec)'),ylabel('fs(t)');

title('200HZ抽样后的信号'),hold off;

Fsw= Ts*fst*exp(-j*t2'*W);

subplot(224);

plot(W,abs(Fsw)), grid on;

axis([-30000 30000 0 0.003]);

xlabel('\omega'),ylabel('Fs(w)');

title('200HZ抽样信号的频谱');

matlab波形如下:

(3800HZ正弦信号)

代码如下:

Ts=1/3800;

dt=0.00001;

t1= -1/7600:dt:1/7600;

ft=sin(2*pi*3800*t1).*(uCT(t1+1/7600)-uCT(t1-1/7600));

subplot(221);

plot(t1,ft), grid on;

axis([-1/7600 1/7600 -1.1 1.1]);

xlabel('Time(sec)'),ylabel('f(t)')

title('3800HZ正弦信号波形 ');

N=10000;

k = -N:N;

W = 2*pi*k/((2*N+1)*dt);

Fw= dt*ft*exp(-j*t1'*W);

subplot(222);

plot(W,abs(Fw));

grid on;

axis([-200000 200000 0 0.00015]);

xlabel('\omega'),ylabel('F(w)');

title('3800HZ正弦信号的频谱');

t2=-1/7600:Ts:1/7600;

fst=sin(2*pi*3800*t2).*(uCT(t2+1/7600)-uCT(t2-1/7600));

subplot(223);

plot(t1,ft,':'),hold on;

stem(t2,fst),grid on;

axis([-1/7600 1/7600 -1.1 1.1]);

xlabel('Time(sec)'),ylabel('fs(t)');

title('3800HZ抽样后的信号'),hold off;

Fsw= Ts*fst*exp(-j*t2'*W);

subplot(224);

plot(W,abs(Fsw)), grid on;

axis([-200000 200000 0 0.00015]);

xlabel('\omega'),ylabel('Fs(w)');

title('3800HZ抽样信号的频谱');

matlab波形如下:

可知f=3800Hz的频谱直接混叠在一起,出不了明显的频谱图

2.         结合抽样定理,用MATLAB编程实现信号经冲激脉冲抽样后得到的抽样信号及其频谱,并利用重构信号。

解:认为原Sa(t)的信号带宽为wm=2,取wc=1.2wm

代码如下:

wm=2;

wc=1.2*wm;

Ts=1;

dt=0.1;

t1= -10:dt:10;

ft=sinc(t1/pi).*(uCT(t1+10)-uCT(t1-10));

N=5000;

k = -N:N;

W = 2*pi*k/((2*N+1)*dt);

n=-100:100;

nTs=n*Ts;

fst=sinc(nTs/pi).*(uCT(nTs+10)-uCT(nTs-10));

subplot(221);

plot(t1,ft,':'),hold on;

stem(nTs,fst),grid on;

axis([-10 10 -0.4 1.1]);

xlabel('Time(sec)'),ylabel('fs(t)');

title('Sa(t)抽样后的信号'),hold off;

Fsw= Ts*fst*exp(-j*nTs'*W);

subplot(222);

plot(W,abs(Fsw)), grid on;

axis([-20 20 0 4]);

xlabel('\omega'),ylabel('Fs(w)');

title('Sa(t)抽样信号的频谱');

t=-10:dt:10;

f=fst*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))));

subplot(223);

plot(t,f),grid on;

axis([-10 10 -0.4 1.1]);

xlabel('t'),ylabel('f(t)');

title('由f(nTs)信号重建得到Sa(t)信号');

error = abs(f-ft);

subplot(224)

plot(t,error),grid on

xlabel('t'),ylabel('error(t)');

title('重建信号与原Sa(t)信号的绝对误差');

matlab的波形如下:

三、实验体会

本次实验遇到的问题:

第一题:用书上的例子的代码解题,但是发现抽样信号的频谱与未抽样信号的频谱除了周期延拓外并没有幅度减去应有的倍数(变为1/T),后来发现算未经抽样的频谱公式为:Fw= dt*ft*exp(-j*t1'*W);,而经过抽样后的频谱的公式:Fsw= Ts*fst*exp(-j*t2'*W);两者没有实质的差别,唯一的区别是两者时间的单元分别为:dt和Ts,这样并不能引起幅度的变化,虽然解释了图形幅度没变,但是不知道理论上图形幅度缩减一定的倍数(1/T)的原因。

第二题:解本题时本来也想先作出未经抽样时Sa(t)的频谱的,但是最终matlab没有通过编译,提示错误Error using ==> mtimes Out of memory. Type HELP MEMORY for your options.好像是超出内存限制。所以只能直接作出抽样后信号的频谱。再利用书上的公式作出重建的Sa(t)信号再求绝对误差,但是出现了在t=10处绝对误差突然增大的现象,调整dt与Ts的值后t=10处的绝对误差依然很大,这一点暂时没有解决。

四、问题与思考

(1)由于抽样间隔改为2.5,对比例2可以发现明显变小,容易产生频谱混叠,而且低通滤波器的截止频率不满足,不能完整的采出信号

(2)在信号的意义上nTS相当于离散的,t则为连续的

 

第二篇:实验报告五 信号的采样与恢复

深 圳 大 学 实 验 报 告

      课程名称:­            信号与系统                           

      实验项目名称       信号的采样与恢复                             

              

学院                 信息工程                       

        

      专业                    电子                         

        

      指导教师                                     

           

      报告人   学号班级:  2          

      

      实验时间:                20##-05-25                                    

      实验报告提交时间:       20##-06-09                    

教务部制

深圳大学学生实验报告用纸

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

    2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。

相关推荐