MFSK调制方式性能仿真:频谱效率、误码率与频谱特性

1.算法仿真效果

matlab2022a仿真结果如下:
MFSK调制方式的频谱效率,误码率,频谱等matlab仿真_3dMFSK调制方式的频谱效率,误码率,频谱等matlab仿真_3d_02MFSK调制方式的频谱效率,误码率,频谱等matlab仿真_码元_03
MFSK调制方式的频谱效率,误码率,频谱等matlab仿真_进制_04MFSK调制方式的频谱效率,误码率,频谱等matlab仿真_进制_05MFSK调制方式的频谱效率,误码率,频谱等matlab仿真_进制_06



2.算法涉及理论知识概要

数字信号传输系统分为基带传输系统和频带传输系统.频带传输系统也叫数字调制系统。数字调制信号又称为键控信号,数字调制过程中处理的是数字信号,而载波有振幅、频率和相位3个变量,且二进制的信号只有高低电平两个逻辑量1和0,所以调制的过程可用键控的方法由基带信号对载频信号的振幅、频率及相位进行调制,最基本的方法有3种:正交幅度调制(QAM)、频移键控(FSK)、相移键控(PSK).根据所处理的基带信号的进制不同分为二进制和多进制调制(M 进制).多进制数字调制与二进制相比,其频谱利用率更高。

登录后复制

MFSK系统是2FSK(二频键控)系统的推广,该系统有M个不同的载波频率可供选择,
每一个载波频率对应一个M进制码元信息,即用多个频率不同的正弦波分别代表不同的数字信号,
在某一码元时间内只发送其中一个频率。MFSK信号可表示为:

MFSK调制方式的频谱效率,误码率,频谱等matlab仿真_码元_07

登录后复制

为载波角频率,通常采用相位不连续的振荡频率,这样便于利用合成器来提供稳定的信号频率。
图1 为MFSK系统的原理框图。在发送端,输入的二进制码元经过逻辑电路和串/并变换电路转换为M进制码元,
每k位二进制码分为一组,用来选择不同的发送频率。在接收端,当某一载波频率到来时,只有相应频率的带通滤波器能收到信号,
其它带通滤波器输出的都是噪声。抽样判决器的任务就是在某一时刻比较所有包络检波器的输出电压,通过选择最大值来进行判决。
将最大值输出就得到一个M进制码元,然后,再经过逻辑电路转换成k位二进制并行码,再经过并/串变换电路转换成串行二进制码,
从而完成解调过程。 

MFSK调制方式的频谱效率,误码率,频谱等matlab仿真_3d_08



3.MATLAB核心程序

登录后复制

    tSym = (i-1)*symDur:Ts:(symDur*i);% symbol duration
    tmp = cos(2*pi*tSym* freqs(data(i)+1));%%modulate data with corresponding frequency
    mod = [mod tmp];%append the symbol duration to complete signal
    subplot(2,1,2);plot(tSym,tmp,'color', colors(data(i)+1,:));
    title("Modulated Signal @TX");xlabel('Time');ylabel("Amplitude[V]")
    hold on; axis([0 tSym(end) -2 2]);
    hold on
end
 
F = linspace(-fs/2,fs/2, numel(mod));%frequency range for plotting
t = linspace(0,numel(data),numel(mod));%time range for plotting
fft_TX = fftshift(abs(fft(mod)));
fft_TX = 1/numel(fft_TX)*fft_TX;%Mag spectrum of signal
figure;
plot(F,fft_TX);title("Mag. Spectrum of Signal @TX");xlabel('Freq. [Hz]');ylabel("Magnitude[V]")
 
 
figure;
noisy_sig = awgn(mod,-2,'measured');%pass signal through awgn ch.
subplot(2,1,1);plot(t,noisy_sig);title("FSK Signal @RX");xlabel('Time');ylabel("Amplitude[V]")
 
fft_NO = fftshift(abs(fft(noisy_sig)));
fft_NO = 1/numel(fft_NO)*fft_NO;%spectrum @ RX
subplot(2,1,2);plot(F,fft_NO);title("Mag. Spectrum of Signal @RX");
xlabel('Freq. [Hz]');ylabel("Magnitude[V]")
 
n_sym=numel(data);
n_mod=numel(mod); 
sPerSymb = n_mod/n_sym;%sample per symbol
n_freqs=numel(freqs)
correlator = zeros(n_sym,n_freqs);%preallocation for demoding
%each row is repsenting period for one symbol
%columns are representing the correlator output for a freq in a sym period
 
for i=1:n_sym
    tSym = (i-1)*symDur:Ts:(symDur*i);
    for j=1:n_freqs
        out = noisy_sig((i-1)*sPerSymb+1:i*sPerSymb).*cos(2*pi*tSym* freqs(j));
        %multiplying with cos waves at expected freqs in above line
        correlator(i,j) = trapz(tSym,out);
        %integrating multiplied signal and inserting to a matrix
    end
end





免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空