信号处理基于二进制数字振幅调制与解调(2APK)matlab源码

Posted MatlabQQ1575304183

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了信号处理基于二进制数字振幅调制与解调(2APK)matlab源码相关的知识,希望对你有一定的参考价值。

一、简介

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、源代码

clear all
close all
i=5;%5个码元
j=5000;
t=linspace(0,5,j);%0-5之间产生5000个点行矢量,即分成5000份
fc=2;%载波频率
fm=i/4;%码元速率
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%产生基带信号
x=(rand(1,i))%rand函数产生在0-1之间随机数,共1-10个
a=round(x);%随机序列,round取最接近小数的整数
st=t;
for n=1:i
    if a(n)<1;
        for m=j/i*(n-1)+1:j/i*n
            st(m)=0;
        end
    else
        for m=j/i*(n-1)+1:j/i*n
            st(m)=1;
        end
    end
end
figure(1);
subplot(221);
plot(t,st);
axis([0,5,-0.2,1.2]);
title('基带信号');
%载波
s1=cos(2*pi*fc*t);
subplot(222);
plot(t,s1);
axis([0,5,-1,1]);
%脚本文件F2T.m定义了函数F2T,计算信号的反傅立叶变换。
function [t,st]=F2T(f,sf)
%This function calculate the time signal using ifft function for the input
%signal's spectrum
 df = f(2)-f(1);
Fmx = ( f(end)-f(1) +df);
dt = 1/Fmx;
N = length(sf);
T = dt*N;
%t=-T/2:dt:T/2-dt;
t = 0:dt:T-dt;
sff = fftshift(sf);
st = Fmx*ifft(sff);
function [t,st]=lpf(f,sf,B)
%This function filter an input data using a lowpass filter
%Inputs: f:  frequency samples
% sf: input data spectrum samples
% B:  lowpass's bandwidth with a rectangle lowpass
%Outputs:  t: time samples
% st: output data's time samples
df = f(2)-f(1);
T = 1/df;
hf = zeros(1,length(f));%全零矩阵
bf = [-floor( B/df ): floor( B/df )] + floor( length(f)/2 );
hf(bf)=1;
yf=hf.*sf;
[t,st]=F2T(f,yf);
st = real(st);

三、运行结果

在这里插入图片描述
在这里插入图片描述

代码下载https://www.cnblogs.com/ttmatlab/p/14882966.html

以上是关于信号处理基于二进制数字振幅调制与解调(2APK)matlab源码的主要内容,如果未能解决你的问题,请参考以下文章

数字信号调制基于matlab GUI FSK调制+解调含Matlab源码 645期

数字信号调制基于matlab 16QAM信号调制解调含Matlab源码 2050期

数字信号调制基于matlab 16QAM信号调制解调含Matlab源码 2050期

数字信号调制基于二进制数字频率调制(2FSK)matlab源码

数字信号调制基于多进制数字频率调制(4FSK)matlab源码

数字信号调制基于matlab多进制数字频率调制(4FSK)含Matlab源码 999期