随机解调-多频点信号与伪随机序列混频

 

 

随机解调的多频点信号x与伪随机序列经过混频后,被均匀的涂抹到了整个频率轴上,然后经低通滤波,低速均匀采样,最后通过OMP等算法恢复原始信号,整体上是压缩感知求解欠定方程y=Ax的思路。以下给出matlab程序和各个信号的时频域图,更容易理解。

这里的x(n)包含了两个频率:3000Hz和4000Hz,伪随机序列由matlab内部函数randsrc()生成。

首先是绘制频域稀疏信号x(n)与m序列的时域图和频域图

clc;clear all;close all;
%%-------------------------------------------------
Fs = 10000;%采样频率
dt = 1/Fs;%采样时间间隔
L = 1000;
t = (0:L-1)*dt;%生成时间向量
f1=3000;%频率1
f2=4000;%频率2
x1=cos(2*pi*f1*t);
x2=cos(2*pi*f2*t);
x  = x1+x2;

F1 = fft(x)/L;
W = (0:L/2-1)*(Fs/L);%实际频率
subplot(2,1,1);%2行3列,第一个区域
plot(t(1:40),x(1:40),'o');%绘制采样点,只取了一部分区间

figt =(0:400)/100000;
figx = cos(2*pi*f1*figt)+cos(2*pi*f2*figt);
hold on;
plot(figt,figx);
%axis([0 0.1 -2.2 2.2]);
xlabel('时间/s');ylabel('幅值/v');title('频域稀疏信号的时域图');
subplot(2,1,2);%2行1列,第一个区域
stem(W,abs(F1(1:L/2)));%stem用于绘制茎状图
xlabel('频率/Hz');ylabel('幅值');title('频域稀疏信号的频域图');


figure;
pn = randsrc(1,L);
subplot(2,1,1);%2行1列,第一个区域
stairs(t(1:100),pn(1:100));%绘制阶梯图
axis([0 0.01 -1.2 1.2]);%调节坐标轴刻度
xlabel('时间/s');ylabel('幅值/v');title('m序列时域图');
 

第一幅图片是多频点信号的时域和频域图,由于plot绘图时默认的是直接用直线连接,因此波形不够平滑,为此我绘制了一条非常秘集的线,在线上用圆圈标记出了采样点。

由第二幅图我们可以看到,伪随机序列的频谱非常杂乱。事实上伪随机序列是周期信号,一个周期是TP的话,基波频率为1/TP,周期信号只能做傅里叶级数展开,它的频谱是基波及高次谐波组成的,谐波频率是基波频率的整数倍。

figure;
y = x.*pn;%y为混频信号
subplot(2,1,1);
plot(t,y);
axis([0 0.1 -2.5 2.5]);
xlabel('时间/s');ylabel('幅值/v');title('原信号和m序列相乘后的信号的波形图');
Fy = fft(y)/L;
subplot(2,1,2);
plot(W,abs(Fy(1:L/2)));
xlabel('频率/Hz');ylabel('幅值');title('混频后的信号频谱');

混频后的频谱依然是杂乱无章,但现在频谱的低频区不只是伪随机序列的频谱,它已经包含了原始输入信号的频谱。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

nwsuaf_huasir

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

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

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

打赏作者

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

抵扣说明:

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

余额充值