企业网站优化的方案,网站如何做淘客,wordpress插件更新保留修改,互联网+创新创业项目计划书案例**题目#xff1a;**已知一个连续时间信号
其中#xff1a;f01HZ#xff0c;取最高有限带宽频率fm5f0。分别显示原连续时间信号波形和
3种情况下抽样信号的波形。并画出它们的幅频特性曲线#xff0c;并对采样后的信号进行恢复。
step1.绘制出采样信号 这部分相对简单…**题目**已知一个连续时间信号
其中f01HZ取最高有限带宽频率fm5f0。分别显示原连续时间信号波形和
3种情况下抽样信号的波形。并画出它们的幅频特性曲线并对采样后的信号进行恢复。
step1.绘制出采样信号 这部分相对简单代码解释直接写在下面程序里。主要来说通过for循环进行采样采样后根据采样频率间隔绘制出采样之后的离散信号。 代码1
%根据题目写出已知信息
f01;
fm5*f0;
fsin(2*pi*f0*t)(1/3)*sin(6*pi*f0*t);
%设置时间区间和步进
t-2:0.01:2;
%绘制出原始未经采样的图像
subplot(411);
plot(t,f);
title(原始信号)%for循环绘制不同采样频率下的信号
for i1:1:3;fsi*fm;Ts1/fs;%Ts是采样周期也是采样间隔n-2:Ts:2;%写出采样后的离散信号f1sin(2*pi*f0*n)(1/3)*sin(6*pi*f0*n);%绘制剩下三个采样图像subplot(4,1,1i);%以实心圆进行绘制stem(n,f1,filled);end
运行结果1 step2绘制幅频特性曲线 这里主要使用的方法是傅里叶变换。根据傅里叶变换的公式确定相关的变量。 代码2
%写出已知信息
f01;
fm5*f0;
fs12*fm;
t-2:0.01:2;
xsin(2*pi*f0*t)(1/3)*sin(6*pi*f0*t);%对原始信号进行傅里叶变换
Nlength(t);
k0:N-1;%序号
wm2*pi*fm;
w1k*wm/N; %频域对应的角频率wm/N可以理解为频率间隔kwm/N第k个点对应的频率
dt1/fm %时域时间间隔
Xx*exp(-j*t*w1)*dt%矩阵形式计算傅里叶变换
subplot(4,1,1);
plot(w1/(2*pi),abs(X));
axis([0,max(3*fm),1.1*min(abs(X)),1.1*max(abs(X))]);%绘制fm,2fm,3fm采样频率下的频谱对离散信号进行傅里叶变换
%写出离散信号后进行傅里叶变换
for i1:3;
fsi*fm;fsi*fm;Ts1/fs;n-2:Ts:2;xssin(2*pi*f0*n)1/3*sin(6*pi*f0*n);Nlength(n);ws2*pi*fs;k0:N-1;n10:N-1;WNexp(-2*pi*j/N);XSxs*WN.^(n1*k);wk*ws/N;Xsxs*exp(-j*n*w)*Ts;%绘制关于频率变化的幅度谱FT),绘制关于采样点的幅值和相角用DFTsubplot(4,1,1i);plot(w/(2*pi),abs(Xs));axis([0,max(4*fm),1.1*min(abs(Xs)),1.1*max(abs(Xs))]);
end运行结果 step3.抽样信号的恢复 这里信号的恢复主要采用的方式是插值法。时域卷积是用时域抽样信号xs(t)与理想滤波器系统的单位冲激响应h(t)进行卷积积分来求解。卷积积分的公式通过推导化简为内插公式 。 特别要注意生成t−nTst-nTst−nTs的这个过程要很好的利用矩阵的规律。 目的我们最后得到的应该是一个1行(3∗T0)/Ts列1行(3*T0)/Ts列1行(3∗T0)/Ts列的行向量。而抽样后的序列xs也是一个1行(3∗T0)/Ts列1行(3*T0)/Ts列1行(3∗T0)/Ts列的行向量那么就要求sasasa是(3∗T0)/T行乘以(3∗T0)/Ts列(3*T0)/T行乘以(3*T0)/Ts列(3∗T0)/T行乘以(3∗T0)/Ts列的矩阵。而且sasasa取决于t−nTst-nTst−nTs 故借助该行代码生成t−nTst-nTst−nTs TNones(length(n),1)*t1-n*Ts*ones(1,length(t1));完整代码
%x信号重建
%写出已知条件
f01;
T01/f0;
fm5*f0;
Tm1/fm;%时域时间间隔
t0:0.1:3*T0;
xsin(2*pi*f0*t)(1/3)*sin(6*pi*f0*t);
subplot(411);
plot(t,x);%生成采样后的信号
for i1:1:3fsi*fm;Ts1/fs;t10:Ts:3*T0;xssin(2*pi*f0*t1)(1/3)*sin(6*pi*f0*t1);%生成t-nTs矩阵用于构建插值函数n0:(3*T0)/Ts;TNones(length(n),1)*t1-n*Ts*ones(1,length(t1));x1xs*sinc(2*pi*fs*TN);subplot(4,1,1i);plot(t1,x1);axis([min(t1),max(t1),1.1*min(x1),1.1*max(x1)])
end运行结果 结果分析 由此次实验可以发现当采样频率大于信号频率的两倍时才可以进行恢复也就是进行无失真传输。 经验 学习MATLAB往往先要想的是我要达成的目的是什么这个过程中我需要用到的函数或者是公式是什么为了实现这个函数的功能我需要定义哪些变量。也就是说程序往往是先构建框架再去填充内容。 此外在这个过程中本人最怕的是矢量长度必须相等索引超出矩阵维度。今天信号的恢复那里就卡了一下午所以说赤裸裸的教训每一个变量都应该注意他的维度。