您现在的位置:首页 >> 通信 >> 内容

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

时间:2023/2/21 21:33:39 点击:

  核心提示:A396,包括程序操作录像...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/ZJWYkppu

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览




3.算法概述

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

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

4.部分源码

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

for i=1:length(data)

    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

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

A396

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关文章
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168