Matlab光通信仿真系统1

Matlab光通信仿真系统1
1. 仿真模块建⽴
仿真系统需要包括 发射端、信道、接收端。
所有组件的框图如下:公司法第二十一条
在仿真之前,应该设定传输参数,
传输参数:  Symbol Rate = 28GBd ;  nPol = 1; nSyms = ;
激光器参数: roll-off = 0.25 ;  F = 8 (oversampling factor: 过采样因⼦); Linewidth = nm; PS taps = 10 (脉冲成形抽头个数:Taps = span)
信道参数: Length = 1000km; A-spacing = 100km(ampli er spacing:);  = -22.4/km (group velocity:速度);  (光纤衰减); (⾮线性系数,与克尔系数 相关)
过采样
过采样 是指以远远⾼于两倍或其最⾼对其进⾏采样的过程。⼀般来说是指⾼于信号最⾼频率的两倍。
使⽤过采样的原因
模拟信号变数字信号会产⽣量化噪声,这些量化噪声⼀般通过低通滤波器滤除,理想的低通滤波器可以滤除掉最⾼截⽌频率以外的噪声,但是实际的低通滤波器,只会让截⽌频率以外的信号尽可能的减少,并且会或多或少影响截⽌频率以内的信号,若能提⾼低通滤波器的截⽌频率,则模拟低通滤波器对期待保留的频段的影响就会降低;过采样可以让量化噪声推向更⾼的频率,让系统选⽤更⾼截⽌频率的低通滤波器,避免混叠,改善分辨率以及降低噪声。
七彩金曲排行榜2. AWGN信道仿真
nSyms是符号数,所要传输的⽐特数 nBit = nSyms × log2M
2.1 Upsampling(上采样) and Downsampling(下采样)
我们实际中处理的是离散的采样信号,因此为了得到与真实信号相类似的信号,需要对其进⾏上采样,就是说以更⾼的速率对信号进⾏采样。
接收端,有⼀个ADC模数转换,将会对信号进⾏下采样。下采样是相反的操作。上采样因⼦设置成8,代表传输信号在⼀个周期中将被采样8次。之所以选择这么⾼的上采样率,是因为在进⾏分布傅⾥叶变换的时候,⼀个信号的采样信号越多,将会更加准确的描述出光纤信道的影响。
下采样的作⽤主要是为了节省内存和减少信号处理时间。
2.2 脉冲成形
⽬的是将信号波形转变为满⾜奈奎斯特准则的形状,以最⼩化码间⼲扰。 ⼀般都采⽤根升余弦滤波器。商鞅变法的性质
抽头系数为10,代表RRC滤波器span 为⼀个周期10次采样,在收发端都得需要脉冲成形滤波器。
2.3 匹配滤波器
安全联轴器相当于未知信号与其共轭的卷积,在AWGN等加性随机噪声存在的情况下(in the presence of additive stochastic noise such as AWGN),能够最⼤化信噪⽐。本例中匹配滤波器是RRC滤波器
其中N是信号中采样数,h代表RRC滤波器系数,X代表输⼊信号中华蝎王
clear
clc
%% Parameters
roll_off = 0.25;
nTaps = 6;
M = 64;
k = log2(M);
F = 8; % oversampling factor
nSyms = 6000000;
nBits = nSyms * log2(M);
EbN0 = 1:20;
SNR = EbN0 + 10*log10(k) - 10*log10(F);
% nSpS = 4;
BER = zeros(1,length(SNR));
%% TX
for nEn = 1 : numel(EbN0)
txBits = randi([0,1],1,nBits);
mod_Bit = reshape(txBits,log2(M),nBits/log2(M));
mod_sig = qammod(mod_Bit,M,'InputType','bit');
% scatterplot(mod_sig);
% title('发射星座图')
% up_sig = upsample(mod_sig,F);
pulse = rcosdesign(roll_off,nTaps,F);  % 输出长度为nTaps * F + 1 = 81;
% fvtool(pulse,'impulse')
pulse_out = upfirdn(mod_sig,pulse,F);  % 它的输出长度 = nSyms * 81 -(F-1) F-1个0
% scatterplot(pulse_out)
% title('成形滤波后的星座图')
% RX
rx_sig = awgn(pulse_out,SNR(nEn),'measured');
%匹配滤波 and 降采样
match_sig = upfirdn(rx_sig,pulse,1,F);
rxFilt =  match_sig(nTaps +1:end-nTaps );  %去除掉多的数据
demod_sig = qamdemod(rxFilt,M,'OutputType','bit');
rx_Bits = reshape(demod_sig,1,[]);
BER(nEn) = sum(rx_Bits ~= txBits)/numel(rx_Bits);
end
semilogy(EbN0,BER,'*-')
香山商业文化博物馆hold on
EbN0_bushiDb = 10.^(EbN0/10); % db转化
semilogy(EbN0, 7/24 .* erfc( sqrt( EbN0_bushiDb ./ 42 ) ) ,'s-');
红线是理论值,蓝线是仿真,不知道为啥和理论值差这么多,跟⽤qamdemod有关系吗,不知道。。1082089

本文发布于:2024-09-24 02:31:04,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/297434.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:信号   采样   噪声   低通滤波器   频率   信道   系数   量化
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议