概述
本five终于整完了。本来模块都已经搞得差不多了,几个参数一直没搞明白所以波形出不来。。。那么让我们看一下题目要求:
跳频序列及调制
跳频系统与直扩系统对扩频码的使用方式是不同的。跳频系统中,扩频码主要是用做频率控制,而不直接参与信息的运算。常见的方法是使用m序列,不同的m序列分配给不同的用户,每个用户的频率由m序列的状态决定。因此请基于m序列设计跳频序列,并使用PSK方式调制,噪声为高斯白噪声。这里给定了输入的基带信号encode_out.mat。
l 参数设置如下:
跳频频点:15个;
跳频跳速:100跳/s;
跳频带宽:15kHz。
l 输出波形:
跳频序列(跳频图案);
跳频扩频后时域信号及频谱;
混频后时域信号及频谱。
解决思路
很明显我第一个想到的就是用simulink仿真,在产生m序列的时候采用了PN码生成器,设置一个四次方方程并以四个寄存器的输出作为跳频点数就可以满足题目要求的15跳频点数,采样频率由100跳每秒可知应该为1/400.
这里有个小问题要注意的是有个叫Samples per frame的参数一定要设为1,之前我一直以为四个bit为一个跳频信号所以应该设为4,但是这个4应该在buffer里面设置,如果PN序列生成器折了设了4就会有四个并行输出,再用buffer反而会重新变成1×1的输出。
接下来还有个比较重要的事情是零阶保持器一定要把采样频率提高到1e-5不然会出不了压控震荡图像。
因为跳频带宽15KHz,一共15点,很明显每一点1000Hz
接下来让我们来做PSK调制以及混频
这一部分由于老师给的文件直接就是非归零码也就省去了要码元变换的地方,我也没有什么要特别解释的地方。所以直接把信息码乘上中频载波,我中频载波设了10000Hz,于是很简单得到了框图,接着就是和之前的频率合成器输出相乘,之后通过一个高通滤波器滤除不必要的低频分量我们很简单地得到了最终的混频输出。
这里最后有一点修改,因为题目要求最后要加上高斯噪声,意思就是说模拟经过AWGN信道以后的输出因此这里最后加了个awgn的模块。最后出来的结果还是有点差别的,Eb/N0到40dB以下就会非常的糊了。可以说噪声比信号还强。
Matlab处理数据部分
又到了喜闻乐见的画图环节,first of all让我们画出跳频图案,就这?
是不是很丑?但是这就他真实模样,看看别人清晰的跳频图案,难道你不觉得我这极致色彩很棒棒吗?
好吧不开玩笑了,谁说跳频图案要用真实信号画了?不知道什么叫填充格子吗?好的这就准备,
首先
然后一个一个把这个序列记下来生成一个数组。让我们康康效果
,我现在把代码补上了,画跳频图案就这么来,主要利用了patch函数的填充功能,加上本身跳频图案时间的相关性,我们很容易得出这样的输出方法
之前用的短时傅里叶变换的函数代码如下,容易出现马赛克:`
分割线---------------------
没想到一年之后再次打开有人找我要画图的代码,可惜我电脑代码无了只有一段画图的代码,数据无了:
p=array(2,1:33);
for i=2:1:33
x = [i-1 i i i-1 ];
y = [p(i)-1 p(i)-1 p(i) p(i)];
patch(x,y,'red');
hold on
end
grid minor;
有需要代码的可以自取哈,我现在啥也不会了错了也别找俺改了,我是废物。
链接: https://pan.baidu.com/s/1PEMNcOR2GrIXkLZhMw6lqg?pwd=n5hf 提取码: n5hf
最后
以上就是细心仙人掌为你收集整理的SIMULINK实现m序列并用于跳频系统调制的全部内容,希望文章能够帮你解决SIMULINK实现m序列并用于跳频系统调制所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复