m基于matlab的信息传输系统包括卷积编码,QPSK调制解调以及维特比译码

1.算法概述

信息传输系统主要包括信号发送,信号传输模块,信号接收模块,其中信号发送包括信号的产生,信源的编码,信号的调制等模块,信号传输模块。主要设计了一个简单的信息传输系统,系统包括卷积编码,QPSK调制,信道传输,QPSK解调以及维特比译码。我们首先对系统做了简单的介绍,然后正对每个模块进行详细的理论分析,并利用MATLAB进行仿真与分析。得到了系统的误码率曲线和眼图变化图。最后我们以发送一个图像为例,来检测系统的性能。 整个系统的结构如下所示:




卷积编码的过程就是编码器状态沿着时间轴一级一级跳转的过程。维特比译码算法则是在网格图上搜索最可能的状态跳转路径的过程。维特比译码算法先读取t时刻的所有状态的幸存路径度量,再根据t+1时刻的输入,算出跳转路径的度量:根据这两类度量算出t+1时刻到状态S的所有路径的度量,比较选出一个具有较小路径度量的路径作为t+l时刻状态S的幸存路径。这样对每个状态都得到一个幸存路径,根据这些幸存路径和最终编码器所处的状态就可以得到编码器的状态转移路径即译码结果。维特比译码结果的可信度取决于幸存路径的深度和它的路径度量值。幸存路径越深、路径度量值越高,那么译出信息的可信度就越高。在译码过程中有些路径被抛弃了,有些路径被保留了下来。被以为是幸存路径的,也可能会在后面的搜索过程中被抛弃掉。这样随着搜索的深度不断加深,最终正确的路径将会被保留下来,所有的幸存路径都将收敛于一条路径。


QPSK调制方法十分简单,调制器的基本工作过程是:输入的数字码序列经过数据预处理单元完成信号的信道编码,生成两路信号。这个序列再经过多级内插把序列采样速率提高到后面的复数乘法器的工作频率上,以便进行载频调制。使用多级内插滤波器的原因是可以通过调整内插因子,使系统支持的调制符号速率能在一定的范围内变化。


QPSK接收机由一对共输入地相关器组成。这两个相关器分别提供本地产生地相干参考信号1(t)和2(t)。相关器接收信号x(t),相关器输出地x1和x2被用来与门限值0进行比较。如果x1>0,则判决同相信道地输出为符号1;如果x1<0 ,则判决同相信道的输出为符号0;类似地,如果正交通道也是如此判决输出。最后同相信道和正交信道输出这两个二进制数据序列被复加器合并,重新得到原始的二进制序列。



QPSK信号的表达式如式所示:




其中T_s表示四进制符号的间隔,θ_i (i=1,2,3,4)为正弦载波的相位,有四种可能性信息。若θ_i=(i-1)*π/2,则θ_i为0,π/2,π,3π/2,此时初始相位为0的QPSK信号的矢量图如图(a)所示。






QPSK是目前最常用的一种卫星数字信号调制方式。


优点:频谱利用率高、传输速率快、抗干扰能力强、频谱特性好等。


在前面我们介绍了BPSK,它是用两个相位(0° 和 180°)来表示 0、1,而QPSK,我们可以将其看作是两个独立的BPSK,它是用四个相位(45°、135°、225°、315° )来表示数字信号(00、01、11、10)。


2.仿真效果预览

matlab2022a仿真





从误码率仿真结果可知,当SNR大于10db之后,误码率可以快速下降到10-3以下。


3.MATLAB部分代码预览

......................................

for i=1:Frame

Information=(sign(randn(1,Number_symble))+1)/2;%产生随机信号作为测试信源       

Information=[Information 0 0 0] ;              %为了满足仿真需要补三个0使其长度=length


JuanJi_Information = JuanJi_Encode(Information,Length);  %卷积编码


QPSKCode = QPSK_encode(JuanJi_Information, Length);      %QPSK调制


a = 1:-0.1:0.1;

p = 10*log10(a);


error = zeros(10,10);


for k = 1:length(p)

Noise_add = wgn(1,2*Length,p(k));              

Receive_information = QPSKCode + Noise_add;


DQPSKCode = QPSK_Decode(Receive_information, Length);         

Decoder = Viterbi(DQPSKCode, Length);    


error(i,k) = sum(abs(Decoder-Information));

end

end


%眼图仿真

eyediagram(Information,2)

eyediagram(JuanJi_Information,2);

eyediagram(QPSKCode,2);

eyediagram(Receive_information,2);

eyediagram(DQPSKCode,2);

eyediagram(Decoder,2);


Number_error = zeros(1,10);

for i = 1:10

for j = 1:100

Number_error(i) = Number_error(i) + error(j,i);

end

end

x = 1:10;

plot(x,Number_error./Number_symble,'r-*');

xlabel('Eb/N0')

ylabel('Pe')

grid on  

01-24M

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,588评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,456评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,146评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,387评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,481评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,510评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,522评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,296评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,745评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,039评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,202评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,901评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,538评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,165评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,415评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,081评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,085评论 2 352

推荐阅读更多精彩内容