轨道移频信号的抽样与重构

基于matlab的轨道移频信号的抽样与重构

1.原理

抽样,就是从连续时间信号中抽取一系列的信号样本,从而得到一个离散时间序列,这个离散序列经量化后,就成为数字信号。模拟信号经抽样,量化,传输和处理之后,其结果还是数字信号,为了恢复原始连续时间信号,还需要将数字信号经过所谓的重建和平滑滤波。(详细参考信号与系统相关内容)

2.铁路移频信号

要产生轨道移频信号,我们首先要产生周期性方波信号f(t),然后积分产生周期三角波g(t),用于调制载波信号。

%%
dt=0.0001;
t=0:dt:1; 
fc=20;   %载波频率
fd=3; %低频频率
fa=5;   %频偏
g=square(2*pi*fd*t,50);  
%y=square(t,DUTY) 用以产生一个时长为t、幅值为±1的周期性方波信号,其中的DUTY参数表示占空比,即在信号的一个周期中正值所占的百分比
figure;
subplot(2,1,1);plot(t,g,'r');axis([0 1 -1.5 1.5]);title(strcat('低频调制信号,频率为fd=',int2str(fd),'Hz'));ylabel('幅度');
gs=cumsum(g)*dt;  %对g(t)积分,得到连续的三角波相位
rfsk=3*cos(2*pi*fc*t+2*pi*fa*gs); %正确的铁路频移信号,在fc+-fa上下边频间切换
subplot(2,1,2);plot(t,rfsk);title('移频信号时域波形');xlabel('t(秒)');ylabel('幅度');

在这里插入图片描述

3.轨道移频信号的抽样

%%
%信号抽样
dt=0.0001;
t=0:dt:1; 
fc=20;   %载波频率
fd=3; %低频频率
fa=5;   %频偏
g=square(2*pi*fd*t,50);  
gs=cumsum(g)*dt;  %对g(t)积分,得到连续的三角波相位
rfsk=3*cos(2*pi*fc*t+2*pi*fa*gs); %正确的铁路频移信号,在fc+-fa上下边频间切换
Fs=input('请输入抽样频率Fs=(不超过10000Hz):');
Ts=1/Fs;
N=fix(1/Ts);  %fix函数:向零方向取整
tn=0:Ts:1;
Ns=fix((0:N)*Ts/dt+1);
rfsk_samples=rfsk(Ns);  %抽样后的轨道移频信号,抽样频率Fs
subplot(4,1,1);plot(t,rfsk);title('原始移频信号');xlabel('时间(s)');
subplot(4,1,2);plot(t,rfsk,tn,rfsk_samples,'.');title('时域抽样,信号间隔Ts=0.01');xlabel('时间(s)');

%抽样后轨道移频信号的频谱(这里采用离散时间傅里叶变换DTFT)
df=0.1;  %Hz
f=-3*Fs/2:df:3*Fs/2;   %此处的f的取值范围,是根据下面的ws的范围所确定的
RFSK=rfsk*exp(-j*t'*2*pi*f)*dt;  %连续信号的傅里叶变换
                                 %由于dt很小,两者频谱形状近似,幅度相差1/Ts倍
RFSK=abs(RFSK);
dw=0.1*2*pi/Fs;  %频域固定的0.1Hz分辨率要求,推导出本式所示的DTFT的dw(rad/s)分辨率取值
ws=-3*pi:dw:3*pi; %希望计算的频率范围(-3pi,3pi),方便展现频谱周期延拓效果
RFSK_samplesDTFT=rfsk_samples*exp(-j*(0:length(tn)-1)'*ws); %抽样信号的DTFT 
RFSK_samplesDTFT=abs(RFSK_samplesDTFT);
subplot(4,1,3);plot(f,RFSK);title('原始移频信号频谱');xlabel('频率(Hz)');
subplot(4,1,4);plot(ws,RFSK_samplesDTFT);title('抽样信号频谱');xlabel('频率(Hz)');

在这里插入图片描述

4.抽样后轨道移频信号的重构

%%
%信号重构
wc=pi*Fs;  %理想低滤波器截至频率
sReconstruction=zeros(1,length(t));L=length(tn);
for i=1:L
    %sinc函数插值
    sInterpolation=Ts*(wc)*rfsk_samples(i)*sinc((wc)*(t-(i-1)*Ts)/pi)/pi;
    sReconstruction=sReconstruction+sInterpolation;
end
error=abs(sReconstruction-rfsk);  %重构误差
subplot(2,1,1);plot(t,rfsk,t,sReconstruction,':','LineWidth',2);title('时域波形');legend('原始信号','重构信号');
subplot(2,1,2);plot(t,error);title('重构误差');xlabel('时间(t)');

在这里插入图片描述
本内容为我本科信号与系统课程的实验内容:报告与代码下载链接在这里

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rgb2gray

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值