MATLAB实现的光纤通信系统中的相干系统仿真

1. 系统参数设置

% 系统参数
fs = 1e12; % 采样频率 (Hz)
fc = 193.1e12; % 载波频率 (Hz)
B = 50e9; % 信号带宽 (Hz)
L = 50e3; % 光纤长度 (m)
alpha = 0.2; % 光纤衰减系数 (dB/km)
gamma = 1.3; % 光纤非线性系数 (1/W/km)
D = 17; % 光纤色散系数 (ps/nm/km)
lambda = 1550e-9; % 波长 (m)
n = 1.468; % 光纤折射率
c = 3e8; % 光速 (m/s)
beta2 = -D * lambda^2 / (2 * pi * c); % 二阶色散系数

% 调制参数
M = 16; % QPSK调制阶数
symbolRate = 28e9; % 符号率 (Hz)
numSymbols = 10000; % 符号数量

% 仿真参数
numSamples = 2^14; % 采样点数
t = (0:numSamples-1) / fs; % 时间向量

2. 信号生成

% 生成QPSK信号
dataBits = randi([0, M-1], 1, numSymbols); % 随机数据比特
QPSKSignal = qammod(dataBits, M, 'UnitAveragePower', true); % QPSK调制
QPSKSignal = repmat(QPSKSignal, 1, round(symbolRate / fs * numSamples / numSymbols)); % 重复符号以匹配采样率

3. 光纤传输模型

% 光纤传输模型
function y = fiberPropagate(x, L, alpha, beta2, gamma, fs)
    N = length(x);
    dt = 1/fs;
    dz = 0.1; % 传播步长 (km)
    numSteps = round(L / dz);
    
    % 频域参数
    df = fs / N;
    f = (-N/2:N/2-1) * df;
    omega = 2 * pi * f;
    
    % 初始化
    y = x;
    
    % 逐步传播
    for i = 1:numSteps
        % 衰减
        y = y * exp(-alpha * dz / 2);
        
        % 非线性效应
        y = ifft(fft(y) .* exp(1j * gamma * abs(fft(y)).^2 * dz));
        
        % 色散
        y = ifft(fft(y) .* exp(1j * beta2 * omega.^2 * dz));
        
        % 衰减
        y = y * exp(-alpha * dz / 2);
    end
end

% 传输信号
transmittedSignal = fiberPropagate(QPSKSignal, L, alpha, beta2, gamma, fs);

4. 相干接收与数字信号处理

% 相干接收
localOscillator = exp(1j * 2 * pi * fc * t); % 本振信号
receivedSignal = transmittedSignal .* conj(localOscillator); % 相干混频

% 数字信号处理
% 假设使用简单的匹配滤波器和载波恢复算法
matchedFilter = conj(QPSKSignal); % 匹配滤波器
filteredSignal = conv(receivedSignal, matchedFilter, 'same'); % 匹配滤波

5. 误码率计算

% 误码率计算
demodulatedBits = qamdemod(filteredSignal, M, 'UnitAveragePower', true); % QPSK解调
BER = sum(abs(dataBits - demodulatedBits)) / length(dataBits); % 误码率
disp(['误码率 (BER): ', num2str(BER)]);

6. 可视化结果

% 显示星座图
figure;
scatterplot(filteredSignal);
title('Constellation Diagram');
xlabel('In-Phase');
ylabel('Quadrature');

% 显示眼图
figure;
eyediagram(filteredSignal, 2 * symbolRate / fs);
title('Eye Diagram');
xlabel('Time');
ylabel('Amplitude');

参考代码 光纤通信系统里的相干系统仿真 youwenfan.com/contentcnm/82269.html

说明

  1. 系统参数设置:定义了光纤通信系统的基本参数,包括采样频率、载波频率、光纤长度、衰减系数、非线性系数、色散系数等。
  2. 信号生成:生成了QPSK调制信号,并将其重复以匹配采样率。
  3. 光纤传输模型:实现了光纤传输模型,包括衰减、非线性效应和色散。
  4. 相干接收与数字信号处理:实现了相干接收和简单的数字信号处理,包括匹配滤波器和载波恢复。
  5. 误码率计算:计算了误码率,评估系统性能。
  6. 可视化结果:显示了星座图和眼图,直观展示信号质量。
posted @ 2025-12-04 16:02  w199899899  阅读(0)  评论(0)    收藏  举报