当前位置:文档之家› msk的调制解调MATLAB源代码

msk的调制解调MATLAB源代码

msk的调制解调MATLAB源代码
msk的调制解调MATLAB源代码

msk的调制解调MATLAB源代码

function out = delay(data,n,sample_number)

%data:延迟的数据

%n:延迟码元个数

%sample_number:码元采样个数

out = zeros(1,length(data));

out(n*sample_number+1:length(data)) =

data(1:length(data)-n*sample_number);

function [data_diff] = difference(data)

%差分编码

%************************************************************************* *

%data 输入信号

%data_diff 差分编码后信号

%************************************************************************* *

%--------------------------------------------------------------------------

data_diff = zeros(1,length(data));

data_diff(1) = 1 * data(1); %1为差分编码的初始参考值

for i = 2:length(data)

data_diff(i) = data_diff(i-1) * data(i);

end

%************************************************************************* *

function [signal_out,I_out,Q_out] =

mod_msk(data,data_len,sample_number,Rb)

%MSK基带调制

%************************************************************************* *

% data 调制信号

% data_len 码元个数

% sample_number 每个码元采样点数

% Rb 码元速率

% signal_out 基带调制输出

% I_out I路输出

% Q_out Q路输出

%************************************************************************* *

% data_len = 10; %码元个数

% sample_number = 8; %采样点数

% Rb = 16000; %码元速率

% data1 = randint(1,data_len);

% data = 2*data1-1; %传输的序列

Tb = 1/Rb; %码元时间

fs = Rb*sample_number; %采样速率

%--------------------------------------------------------------------------

%差分编码

[data_diff] = difference(data);

%************************************************************************* *

%--------------------------------------------------------------------------

%并串转换,延时

I(1) = 1; %fai0 = 0,cos(fai0) = 1

for i = 1:2:data_len

Q(i) = data_diff(i);

Q(i+1) = data_diff(i);

end

for i = 2:2:data_len

I(i+1) = data_diff(i);

I(i) = data_diff(i);

end

for i = 1:sample_number

I1(i:sample_number:data_len*sample_number) = I(1:data_len);

Q1(i:sample_number:data_len*sample_number) =

Q(1:data_len);

end

%************************************************************************* *

%--------------------------------------------------------------------------

%乘加权函数

t=1/fs:1/fs:data_len*Tb;

I_out = I1 、* cos(pi*t/2/Tb);

Q_out = Q1 、* sin(pi*t/2/Tb);

%************************************************************************* *

%--------------------------------------------------------------------------

%调制信号产生

signal_out = I_out + j*Q_out;

%************************************************************************* *

% %--------------------------------------------------------------------------

% %画图

% subplot(221)

% plot(data,'、-');title('MSK传输的数据');xlabel('时间');ylabel('幅度') % subplot(222)

% plot(data_diff,'、-');title('差分后的数据');xlabel('时间');ylabel('幅度')

% subplot(223)

% plot(I1,'、-');title('加权前I路');xlabel('时间');ylabel('幅度');

% subplot(224)

% plot(Q1,'、-');title('加权前Q路');xlabel('时间');ylabel('幅度');

%

% figure(2)

% subplot(221)

% plot(cos(pi*t/2/Tb),'、-');title('加权函数cos(πt/(2Tb))');xlabel('时间');ylabel('幅度')

% subplot(222)

% plot(sin(pi*t/2/Tb),'、-');title('加权函数sin(πt/(2Tb))');xlabel('时间');ylabel('幅度')

% subplot(223)

% plot(I_out,'、-');title('加权后I路');xlabel('时间');ylabel('幅度');

% subplot(224)

% plot(Q_out,'、-');title('加权后Q路');xlabel('时间');ylabel('幅度'); % %********************************************************************** ****

function [signal_out,I_out,Q_out,phase] =

mod_msk2(data,data_len,sample_number,Rb)

%MSK基带调制

%************************************************************************* *

% data 调制信号

% data_len 码元个数

% sample_number 每个码元采样点数

% Rb 码元速率

% signal_out 基带调制输出

% I_out I路输出

% Q_out Q路输出

%************************************************************************* *

% data_len = 10; %码元个数

% sample_number = 8; %采样点数

% Rb = 16000; %码元速率

% data1 = randint(1,data_len);

% data = 2*data1-1; %传输的序列

Tb = 1/Rb; %码元时间

fs = Rb*sample_number; %采样速率

%--------------------------------------------------------------------------

%采样

for i = 1:sample_number

data_sample(i:sample_number:data_len*sample_number) = data;

end

%************************************************************************* *

%--------------------------------------------------------------------------

%计算相位

phase = zeros(1,data_len*sample_number);

phase(1) = data_sample(1) * pi/2/sample_number;

for i = 2:data_len*sample_number

phase(i) = phase(i-1) + data_sample(i-1) * pi/2/sample_number; end

%************************************************************************* *

%--------------------------------------------------------------------------

%I/Q

I_out = cos(phase);

Q_out = sin(phase);

%************************************************************************* *

%--------------------------------------------------------------------------

%调制信号产生

signal_out = I_out + j*Q_out;

%************************************************************************* *

%MSK调制,差分解调方法一

clear all

close all

%--------------------------------------------------------------------------

%参数设置

data_len = 10000; %码元个数

sample_number = 8; %采样个数

Rb = 24000; %码元速率

fc = 96000; %载波频率

%************************************************************************* *

%--------------------------------------------------------------------------

%随机产生传输信号

data=rand_binary(data_len);

%************************************************************************* *

%--------------------------------------------------------------------------

%MSK基带调制

[signal_out,I_out,Q_out] =

mod_msk(data,data_len,sample_number,Rb);

%************************************************************************* *

%--------------------------------------------------------------------------

%中频搬移

multi = fc/Rb;

I_temp=interp(I_out,multi);

Q_temp=interp(Q_out,multi);

Fs=fc*sample_number;

t=1/Fs:1/Fs:length(I_temp)*1/Fs;

signal_i=I_temp、*cos(2*pi*fc*t);

signal_q=Q_temp、*sin(2*pi*fc*t);

signal_mod=I_temp、*cos(2*pi*fc*t)-Q_temp、*sin(2*pi*fc*t);

%************************************************************************* *

%--------------------------------------------------------------------------

%加噪声

for SNR = 0:8

signal_mod1 = awgn(signal_mod,SNR);

%--------------------------------------------------------------------------

%去载波

N=300; % 滤波器的阶数为(N+1) F=[0,fc-1000,fc+1000,Fs/2]*2/Fs;

A=[1,1,0,0];

lpf=firls(N,F,A);

[amp_lpf,w]=freqz(lpf);

基于MATLAB的FSK调制解调实现完整版

目录 一. FSK理论知识………………………………………………… 1.1FSK概念………………………………………………………………… 1.22FSK信号的波形及时间表示式………………………………………… 1.32FSK信号的产生方法…………………………………………………… 1.42FSK信号的功率谱密度………………………………………………… 1.52FSK信号的解调………………………………………………………… 1.6FSK的误码性能…………………………………………………………… 二.用MATLAB进行FSK原理及误码性能仿真……… 三、结论…………………………………………… 四、参考文献…………………………………………、 五、源程序……………………………………………

1、FSK理论知识 频率调制的最简单形式是二进制频率键控(FSK,frequency-shift keying)。FSK是调制解调器通过电话线路发送比特的方法。每个比特被转换为一个频率,0由较低的频率表示,1由较高的频率表示。 1.1、FSK概念 传“0”信号时,发送频率为f1的载波; 传“1”信号时,发送频率为f2的载波。可见,FSK是用不同频率的载波来传递数字消息的。 实现模型如下图: 1.2、2FSK信号的波形及时间表示式 根据上图模型的实现可以得到2FSK的信号波形如图:

2FSK信号的时间表达式为: 由以上表达式可见,2FSK信号由两个2ASK信号相加构成。 注意:2FSK有两种形式: (1)相位连续的2FSK; (2)相位不连续的2FSK。 在这里,我们只讨论相位不连续的频移键控信号,这样更具有普遍性。 1.3、2FSK信号的产生方法 2FSK信号的产生方法:2FSK信号可以两类方法来产生。 一是采用模拟调频的方法来产生(图1);另一种方法是采用键控法(图2); 图1.3-1 图1.3-2 1.4、2FSK信号的功率谱密度

基于MATLAB SIMULINK的FM调制解调

摘要 在模拟通信系统中,由模拟信源产生的携带有信息的消息经过传感器转换成电信号。模拟基带信号在经过调制将低通频谱搬移到载波频率上适应信道,最终解调还原成电信号。本文应用了频率调制法产生调制解调信号。本论文中主要通过对SIMULINK工具箱的学习和使用,利用其丰富的模板以及本科对通信原理知识的掌握,完成了FM信号的调制与解调,以及用SIMULINK进行设计和仿真。首先利用简单的正玄波信号发生器作为信源,对模拟信号进行FM调制解调原理的仿真。 关键词:调制解调;FM ;MATLAB;SIMULINK仿真

Abstract In the simulation of communication systems, generated by the analog source carrying a message through the sensor into electrical signals. Analog baseband signal after the modul- -ation of the low pass spectrum to carrier frequency to adapt to the channel, the final reducti- -on into electrical signal demodulation. This paper applied the frequency modulation method to generate the signal modulation and demodulation. Mainly through the study and use of SIMULINK toolbox in this thesis, with its rich template and undergraduate course on comm--unication theory knowledge,the modulation and demodulation of FM signal, as well as the design and simulation with SIMULINK. Firstly, sine wave signal generator is simple as the source, simulation FM modulation anddemodulation principle of analogue signals. Then, using the song as the source. Keywords: modulation and demodulation;FM; MATLAB; SIMULINK simulation

蚁群算法TSP问题matlab源代码

function [R_best,L_best,L_ave,Shortest_Route,Shortest_Length]=ACATSP(C,NC_max,m,Alpha,Beta ,Rho,Q) %%===================================================== ==================== %% ACATSP.m %% Ant Colony Algorithm for Traveling Salesman Problem %% ChengAihua,PLA Information Engineering University,ZhengZhou,China %% Email:aihuacheng@https://www.doczj.com/doc/aa5319754.html, %% All rights reserved %%------------------------------------------------------------------------- %% 主要符号说明 %% C n个城市的坐标,n×4的矩阵 %% NC_max 最大迭代次数 %% m 蚂蚁个数 %% Alpha 表征信息素重要程度的参数 %% Beta 表征启发式因子重要程度的参数 %% Rho 信息素蒸发系数 %% Q 信息素增加强度系数 %% R_best 各代最佳路线 %% L_best 各代最佳路线的长度 %%===================================================== ==================== %%第一步:变量初始化 n=size(C,1);%n表示问题的规模(城市个数) D=zeros(n,n);%D表示完全图的赋权邻接矩阵 for i=1:n for j=1:n if i~=j D(i,j)=max( ((C(i,1)-C(j,1))^2+(C(i,2)-C(j,2))^2)^0.5,min(abs(C(i,3)-C(j,3)),144- abs(C(i,3)-C(j,3))) );%计算城市间距离 else D(i,j)=eps; end D(j,i)=D(i,j); end end Eta=1./D;%Eta为启发因子,这里设为距离的倒数 Tau=ones(n,n);%Tau为信息素矩阵 Tabu=zeros(m,n);%存储并记录路径的生成 NC=1;%迭代计数器 R_best=zeros(NC_max,n);%各代最佳路线

基于MATLAB的FSK调制解调1

基于MATLAB的FSK调制解调 学生姓名:段斐指导老师:吴志敏 摘要本课程设计利用MATLAB集成环境下的M文件,编写程序来实现FSK 的调制解调,并绘制出解调前后的时域和频域波形及叠加噪声时解调前后的时频波形,并观察解调前后频谱有何变化以加深对F SK信号解调原理的理解。对信号叠加噪声,并迚行解调,绘制出解调前后信号的时频波形,改变噪声功率迚行解调,根据运行结果和波形来分析该解调过程的正确性及信道对信号传输的影响。完成整个FSK的调制解调过程。程序开发平台为MATLAB7.1,使用其自带的M文件实现。运行平台为Windows 2000。 关键词:程序设计;FSK ;调制解调;MATLAB7.1;M文件 1引言 本课程设计是利用MATLAB集成环境下的M文件,编写程序来实现FSK 的调制解调,并绘制出解调前后的时域和频域波形及叠加噪声时解调前后的时频波形,根据运行结果和波形来分析该解调过程的正确性及信道对信号传输的影响。 1.1课程设计目的 此次课程设计的目的是熟悉MATLAB中M文件的使用方法,编写M文件实现FSK的调制和解调,绘制出FSK信号解调前后在时域和频域中的波形,观察调解前后频谱的变化,再对信号迚行噪声叠加后解调同样绘制解调前后的

信号时频波形,最后改变噪声功率迚行调解,分析噪声对信号传输造成的影响,加深对FSK信号解调原理的理解。 1.2课程设计要求 熟悉MATLAB中M文件的使用方法,并在掌握FSK调制解调原理的基础上,编写出F SK调制解调程序。在M文件环境下运行程序绘制出F SK信号解调前后在时域和频域中的波形,观察波形在解调前后的变化,对其作出解释,同时对信号加入噪声后解调,得到解调后的时频波形,分析噪声对信号传输造成的影响。解释所得到的结果。 1.3课程设计步骤 本课程设计采用M文件编写的方法实现二迚制的FSK的调制与解调,然后在信号中叠加高斯白噪声。一,调用dmode函数实现FSK的解调,并绘制出F SK信号调制前后在时域和频域中的波形,两者比较。二,调用ddemod函数解调,绘制出F SK信号解调前后在时域和频域中的波形,两者比较。三,调用awgn函数在新海中叠加不同信噪比的噪声,绘制在各种噪声下的时域频域图。最后分析结果。 1.4设计平台简介 Matlab是美国MathWorks公司开发的用于概念设计,算法开发,建模仿真,实时实现的理想的集成环境。是目前最好的科学计算类软件。 作为和Mathematica、Maple并列的三大数学软件。其强项就是其强大的矩阵计算以及仿真能力。Matlab的由来就是Matrix + Laboratory = Matlab,这个软件在国内也被称作《矩阵实验室》。Matlab提供了自己的编译器:全面兼容C++以及Fortran两大语言。Matlab 7.1于2005.9最新发布-完整版,提供了

基于MATLAB的FSK调制解调 (1)

基于MATLAB的FSK的实验报告 姓 1.1

实现对FSK的MATLAB仿真. 重点研究问题: (1) 对FSK的概念、组成以及性能分析方法有深入的研究; (2) FSK调制与解调的原理及应用MATLAB软件实现仿真的方案. 1.2 FSK信号的调制方法 移频键控(FSK):用数字调制信号的正负控制载波的频率。当数字信号的振幅为正时载波频率为f1,当数字信号的振幅为负时载波频率为 f2。有时也把代表两个以上符号的多进制频率调制称为移频键控。移频键控能区分通路,但抗干扰能力不如移相键控和差分移相键控。他的主要调制方法有以下两种: 方法一: 用一个矩形脉冲序列对一个载波进行调频。 图2-3 2FSK信号的产生(一) 方法二:键控法 图2-4 2FSK信号的产生(二) 键控法是利用矩形脉冲()t b来控制开关电路对两个不同的独立频率源进行选通。

1.3 FSK解调的方法 常见的FSK解调方法有两种:相干解调法与非相干解调法.现在我将对这两种解法。 1.4 设计总思路 如下图所示,我将FSK的调制与FSK的解调独立开作为两个子函数,其中FSK调制的输出即可作为FSK解调的输入信号.最后设计一主函数main将两个子函数同时调用完成整个仿真过程。 图3-1 设计总思路图 2.1 FSK调制的仿真设计 本文主要是对2FSK进行调制,而2FSK可看做是基带信号与载波频率的结合就可.FSK的产生思路参考的是键控法,如图4

图3-2 2FSK信号的产生(二) 2.2 FSK解调的仿真设计 如上图所示的FSK信号的相干检测原理图,FSK信号可以采用两个乘法检测器进行相干检测. 上图中输入信号为2FSK信号加上噪声组成 带通滤波器2的设计类似滤波器1,只是更改频率为fc2就可.

蚁群算法matlab程序代码

先新建一个主程序M文件ACATSP.m 代码如下: function [R_best,L_best,L_ave,Shortest_Route,Shortest_Length]=ACATSP(C,NC_max,m,Alpha,Beta,Rho,Q) %%================================================== ======================= %% 主要符号说明 %% C n个城市的坐标,n×2的矩阵 %% NC_max 蚁群算法MATLAB程序最大迭代次数 %% m 蚂蚁个数 %% Alpha 表征信息素重要程度的参数 %% Beta 表征启发式因子重要程度的参数 %% Rho 信息素蒸发系数 %% Q 表示蚁群算法MATLAB程序信息素增加强度系数 %% R_best 各代最佳路线 %% L_best 各代最佳路线的长度 %%================================================== =======================

%% 蚁群算法MATLAB程序第一步:变量初始化 n=size(C,1);%n表示问题的规模(城市个数) D=zeros(n,n);%D表示完全图的赋权邻接矩阵 for i=1:n for j=1:n if i~=j D(i,j)=((C(i,1)-C(j,1))^2+(C(i,2)-C(j,2))^2)^0.5; else D(i,j)=eps; % i = j 时不计算,应该为0,但后面的启发因子要取倒数,用eps(浮点相对精度)表示 end D(j,i)=D(i,j); %对称矩阵 end end Eta=1./D; %Eta为启发因子,这里设为距离的倒数 Tau=ones(n,n); %Tau为信息素矩阵 Tabu=zeros(m,n); %存储并记录路径的生成

基于MATLAB的ASK调制解调实现

基于MATLAB的ASK调制解调实现

————————————————————————————————作者:————————————————————————————————日期: ?

长沙理工大学 《通信原理》课程设计报告 学院专业 班级学号 学生姓名指导教师 课程成绩完成日期2016年1月8日

课程设计成绩评定 学院专业 班级学号 学生姓名指导教师 课程成绩完成日期2016年1月8日 指导教师对学生在课程设计中的评价 评分项目优良中及格不及格课程设计中的创造性成果 学生掌握课程内容的程度 课程设计完成情况 课程设计动手能力 文字表达 学习态度 规范要求 课程设计论文的质量 指导教师对课程设计的评定意见 综合成绩指导教师签字2016年1月8日

课程设计任务书 城南学院通信工程专业 课程名称通信原理课程设计时间2015/2016学年第一学期17~19 周 学生姓名指导老师 题目基于MATLAB的ASK调制解调实现 主要内容: 利用MATLAB集成环境下的M文件,编写程序来实现ASK的调制解调, 要求采样频率为360HZ,并绘制出解调前后的时域和频域波形及叠加噪声时解 调前后的时频波形,根据运行结果和波形来分析该解调过程的正确性及信道对信 号传输的影响。 要求: 1)熟悉MATLAB中M文件的使用方法,并在掌握ASK调制解调原理 的基础上,编写出ASK调制解调程序。 2)绘制出ASK信号解调前后在时域和频域中的波形,并观察解调前后频谱有何变化以加深对ASK信号解调原理的理解。 3)对信号叠加噪声,并进行解调,绘制出解调前后信号的时频波形,改变噪声功率进行解调,分析噪声对信号传输造成的影响。 4)在老师的指导下,要求独立完成课程设计的全部内容,并按要求编写课 程设计学年论文,能正确阐述和分析设计和实验结果。 应当提交的文件: (1)课程设计学年论文。 (2)课程设计附件。

蚁群算法matlab

蚁群算法的matlab源码,同时请指出为何不能优化到已知的最好解 % % % the procedure of ant colony algorithm for VRP % % % % % % % % % % % % %initialize the parameters of ant colony algorithms load data.txt; d=data(:,2:3); g=data(:,4); m=31; % 蚂蚁数 alpha=1; belta=4;% 决定tao和miu重要性的参数 lmda=0; rou=0.9; %衰减系数 q0=0.95; % 概率 tao0=1/(31*841.04);%初始信息素 Q=1;% 蚂蚁循环一周所释放的信息素 defined_phrm=15.0; % initial pheromone level value QV=100; % 车辆容量 vehicle_best=round(sum(g)/QV)+1; %所完成任务所需的最少车数V=40; % 计算两点的距离 for i=1:32; for j=1:32;

dist(i,j)=sqrt((d(i,1)-d(j,1))^2+(d(i,2)-d(j,2))^2); end; end; %给tao miu赋初值 for i=1:32; for j=1:32; if i~=j; %s(i,j)=dist(i,1)+dist(1,j)-dist(i,j); tao(i,j)=defined_phrm; miu(i,j)=1/dist(i,j); end; end; end; for k=1:32; for k=1:32; deltao(i,j)=0; end; end; best_cost=10000; for n_gen=1:50; print_head(n_gen); for i=1:m; %best_solution=[]; print_head2(i);

AM调制解调及matlab仿真程序和图

(1)所用滤波器函数:巴特沃斯滤波器 % 注: wp(或Wp)为通带截止频率 ws(或Ws)为阻带截止频率 Rp为通带衰减 As为阻带衰减 %butterworth低通滤波器原型设计函数要求Ws>Wp>0 As>Rp>0 function [b,a]=afd_butt(Wp,Ws,Rp,As) N=ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(Wp/Ws))); %上条语句为求滤波器阶数 N为整数 %ceil 朝正无穷大方向取整 fprintf('\n Butterworth Filter Order=%2.0f\n',N) OmegaC=Wp/((10^(Rp/10)-1)^(1/(2*N))) %求对应于N的3db截止频率 [b,a]=u_buttap(N,OmegaC); (2)傅里叶变换函数 function [Xk]=dft(xn,N) n=[0:1:N-1]; k=[0:1:N-1]; WN=exp(-j*2*pi/N); nk=n'*k; WNnk=WN.^(nk); Xk=xn*WNnk; 设计部分: 1.普通AM调制与解调 %单音普通调幅波调制y=amod(x,t,fs,t0,fc,Vm0,ma)要求fs>2fc %x调制信号,t调制信号自变量,t0采样区间,fs采样频率, %fc载波频率,Vm0输出载波电压振幅,ma调幅度 t0=0.1;fs=12000; fc=1000;Vm0=2.5;ma=0.25; n=-t0/2:1/fs:t0/2; x=4*cos(150*pi*n); %调制信号 y2=Vm0*cos(2*pi*fc*n); %载波信号figure(1) subplot(2,1,1);plot(n,y2); axis([-0.01,0.01,-5,5]); title('载波信号'); N=length(x); Y2=fft(y2); subplot(2,1,2); plot(n,Y2); title('载波信号频谱'); %画出频谱波形y=Vm0*(1+ma*x/Vm0).*cos(2*pi*fc*n); figure(2) subplot(2,1,1);plot(n,x) title('调制信号'); subplot(2,1,2) plot(n,y) title('已调波信号'); X=fft(x);Y=fft(y);

完整word版,msk的调制解调MATLAB源代码

msk的调制解调MATLAB源代码 function out = delay(data,n,sample_number) %data:延迟的数据 %n:延迟码元个数 %sample_number:码元采样个数 out = zeros(1,length(data)); out(n*sample_number+1:length(data)) = data(1:length(data)-n*sample_number); function [data_diff] = difference(data) %差分编码 %************************************************************************* * %data 输入信号 %data_diff 差分编码后信号 %************************************************************************* *

%-------------------------------------------------------------------------- data_diff = zeros(1,length(data)); data_diff(1) = 1 * data(1); %1为差分编码的初始参考值 for i = 2:length(data) data_diff(i) = data_diff(i-1) * data(i); end %************************************************************************* * function [signal_out,I_out,Q_out] = mod_msk(data,data_len,sample_number,Rb) %MSK基带调制 %************************************************************************* * % data 调制信号 % data_len 码元个数 % sample_number 每个码元采样点数

16QAM调制解调(MATLAB)

题目: 基于MATLAB 的16QAM 及32QAM 系统的仿真 原理: QAM 是一种矢量调制,将输入比特映射到一个复平面,形成复数调制信号,然后将I 信号和Q 信号(实部虚部)分量采用幅度调制,分 别对应调制在相互正交的两个载波(cos t ω,sin t ω)上。下图为MQAM 的调制原理图。 MQAM 的信号表达式: ()()( )cos sin 1,2,...,, 0C S C S i i T C i T C S i i s t a g t t a g t t i M t T a a ωω=-=≤≤与 上述表达式可以看出,QAM 为两个正交载波振幅相位调制的结合。波形矢量可以表示为: ()()()11221,2,...,, 0i i i S s t s f t s f t i M t T =+=≤≤

( )()( )()()()()()12110 220 cos ,0sin ,01,2,...,1,2,...,S S T C S T C S T i i T i i f t t t t T f t t t t T s s t f t dt i M s s t f t dt i M ωω=≤≤= ≤≤====?? MQAM 信号最佳接收: 实验仿真条件: 码元数量设定为10000个,基带信号频率1HZ ,抽样频率32HZ ,载波频率4HZ 。 实验结果分析:

对于QAM ,可以看成是由两个相互正交且独立的多电平ASK 信号叠加而成。因此,利用多电平误码率的分析方法,可得到M 进制QAM 的误码率为: ])(1l o g 3[)1 1(0 22n E L L e r f c L P b e -- = 式中,M L =,Eb 为每码元能量,n 0为噪声单边功率谱密度。 通过调整高斯白噪声信道的信噪比SNR (Eb/No ),可以得到如图所示的误码率图: -1-0.50 0.51 1.52 2.5 10 -3 10 -2 10 -1 10 QAM 信号误码率分析 信噪比 误码率

蚁群算法MATLAB代码

function [y,val]=QACStic load att48 att48; MAXIT=300; % 最大循环次数 NC=48; % 城市个数 tao=ones(48,48);% 初始时刻各边上的信息最为1 rho=0.2; % 挥发系数 alpha=1; beta=2; Q=100; mant=20; % 蚂蚁数量 iter=0; % 记录迭代次数 for i=1:NC % 计算各城市间的距离 for j=1:NC distance(i,j)=sqrt((att48(i,2)-att48(j,2))^2+(att48(i,3)-att48(j,3))^2); end end bestroute=zeros(1,48); % 用来记录最优路径 routelength=inf; % 用来记录当前找到的最优路径长度 % for i=1:mant % 确定各蚂蚁初始的位置 % end for ite=1:MAXIT for ka=1:mant %考查第K只蚂蚁 deltatao=zeros(48,48); % 第K只蚂蚁移动前各边上的信息增量为零 [routek,lengthk]=travel(distance,tao,alpha,beta); if lengthk

基于MATLAB的ASK调制解调实现

长沙理工大学 《通信原理》课程设计报告 学院专业 班级学号 学生姓名指导教师 课程成绩完成日期2016年1月8日

课程设计成绩评定 学院专业 班级学号 学生姓名指导教师 课程成绩完成日期2016年1月8日指导教师对学生在课程设计中的评价 指导教师对课程设计的评定意见

课程设计任务书 城南学院通信工程专业

基于MATLAB的ASK调制解调实现 学生姓名:指导老师: 摘要MATLAB是美国MathWorks公司生产的一个为科学和工程计算专门设计的交互式大型软件,本课程设计主要内容是利用MATLAB集成环境下的M文件,编写程序来实现ASK的调制解调,要求采样频率为360HZ,并绘制出解调前后的时域和频域波形及叠加噪声时解调前后的时频波形,根据运行结果和波形来分析该解调过程的正确性及信道对信号传输的影响。目的是熟悉MATLAB中M文件的使用方法,并在掌握ASK 调制解调原理的基础上,编写出2ASK调制解调程序,绘制出ASK信号解调前后在时域和频域中的波形,观察解调前后频谱有何变化以及对信号叠加噪声后的变化。最终得到随着输入信号噪声的增加增大,误码越严重的结论,加深对ASK信号解调原理的理解。 关键词ASK调制解调;时域谱;频域谱;高斯白噪声;信噪比 1 引言 通信原理是通信工程专业的一门重要的专业课,是通信工程专业后续专业课的基础,掌握通信原理课程的知识不仅可以打下一个坚实的专业基础,还能提高处理通信系统问题能力和素质。通过本课程设计的ASK振幅键控调制解调,可以进一步理解数字通信的基础理论,有助于加深对通信原理的理解。 1.1课程设计目的 通过设计基于MATLAB的ASK调制解调实现,让我深入理解和掌握二进制ASK 调制解调以及噪声对信号传输的影响[1]。 在通信原理理论知识的基础上加深对ASK调制解调设计原理及实现方法的理解。使我对通信信号波形及频谱有深刻的认识。不仅加强了对课本知识的了解,而且还涉及到了MATLAB编程语言和软件的使用,以及基本的操作常识[2]。 掌握调制解调函数的应用,增强了我动手实践的能力。

基于蚁群算法的MATLAB实现

基于蚁群算法的机器人路径规划MATLAB源代码 基本思路是,使用离散化网格对带有障碍物的地图环境建模,将地图环境转化为邻接矩阵,最后使用蚁群算法寻找最短路径。 function [ROUTES,PL,Tau]=ACASPS(G,Tau,K,M,S,E,Alpha,Beta,Rho,Q) %% --------------------------------------------------------------- % ACASP.m % 基于蚁群算法的机器人路径规划 % GreenSim团队——专业级算法设计&代写程序 % 欢迎访问GreenSim团队主页→https://www.doczj.com/doc/aa5319754.html,/greensim %% --------------------------------------------------------------- % 输入参数列表 % G 地形图为01矩阵,如果为1表示障碍物 % Tau 初始信息素矩阵(认为前面的觅食活动中有残留的信息素) % K 迭代次数(指蚂蚁出动多少波) % M 蚂蚁个数(每一波蚂蚁有多少个) % S 起始点(最短路径的起始点) % E 终止点(最短路径的目的点) % Alpha 表征信息素重要程度的参数 % Beta 表征启发式因子重要程度的参数 % Rho 信息素蒸发系数 % Q 信息素增加强度系数 % % 输出参数列表 % ROUTES 每一代的每一只蚂蚁的爬行路线 % PL 每一代的每一只蚂蚁的爬行路线长度 % Tau 输出动态修正过的信息素 %% --------------------变量初始化---------------------------------- %load D=G2D(G); N=size(D,1);%N表示问题的规模(象素个数) MM=size(G,1); a=1;%小方格象素的边长 Ex=a*(mod(E,MM)-0.5);%终止点横坐标 if Ex==-0.5 Ex=MM-0.5; end Ey=a*(MM+0.5-ceil(E/MM));%终止点纵坐标 Eta=zeros(1,N);%启发式信息,取为至目标点的直线距离的倒数 %下面构造启发式信息矩阵 for i=1:N

(完整版)蚁群算法matlab程序实例整理

function [y,val]=QACS tic load att48 att48; MAXIT=300; % 最大循环次数 NC=48; % 城市个数 tao=ones(48,48);% 初始时刻各边上的信息最为1 rho=0.2; % 挥发系数 alpha=1; beta=2; Q=100; mant=20; % 蚂蚁数量 iter=0; % 记录迭代次数 for i=1:NC % 计算各城市间的距离 for j=1:NC distance(i,j)=sqrt((att48(i,2)-att48(j,2))^2+(att48(i,3)-att48(j,3))^2); end end bestroute=zeros(1,48); % 用来记录最优路径 routelength=inf; % 用来记录当前找到的最优路径长度 % for i=1:mant % 确定各蚂蚁初始的位置 % end for ite=1:MAXIT for ka=1:mant %考查第K只蚂蚁 deltatao=zeros(48,48); % 第K只蚂蚁移动前各边上的信息增量为零 [routek,lengthk]=travel(distance,tao,alpha,beta); if lengthk

MATLAB QPSK调制与解调

实验名称:QPSK调制与解调 一、实验目的: 1、学会QPSK调制与解调系统的构成 2、学会QPSK调制与解调系统的各模块的构建 3、学会误码率与误符号率的统计方法以及Matlab算法 二、实验原理: 1、QPSK:四进制绝对相移键控,也称为多进制数字相位调制,利用载波的四种不同相位状态来表征数字信息的调制方式。 2、QPSK的调制方法有正交调制方式(双路二相调制合成法或直接调相法)、相位选择法、插入脉冲法。 调制与解调系统的构成: 3、各模块的实现方法:

(1)、信源的产生:使用randint(m,n,2) 函数产生一个m 行n 列的随机二进制数列 (2)、QPSK 符号映射 :将产生的0,1比特流按照QPSK 调制方式进行映射,本实验采用π/4 QPSK 的调制方式,图为: (3)、AWGN 信号产生:AWGN 产生器就是产生满足均值为0,方差为1的高斯白噪声。实验中使用randn(m,n)函数产生一个m 行n 列的高斯噪声序列。 (4)、信号幅度控制:根据AWGN 信道模型,接收信号可以分别表示为 α就是当噪声功率归一化为1(0均值,方差为1)时,根据信噪比关系而计算出来的信号平均幅度 I I I r s n α=+Q Q Q r s n α=+22210log 10^10s s n n v SNR SNR v sqrt v v ??????=?=* ? ? ???????

(5)、QPSK 反映射及判决 :对接收到的信号在4种可能的四种信号向量[(1,0), (0,1), (-1,0), (0,-1)]上投影(即进行点积)。投影最大的值所对应的信号向量就是所发送信号的符号值,然后恢复出比特流 (6)、误码率及误符号率统计: 误码率:将检测出来的比特流和发送的原始比特流进行比较,统计出出现错误的比特数 误符号率:将检测出来的比特流变成两组,构成符号,和发送端符号映射后的符号流进行比较,只要符号中任错一bit ,就算该符号出错。统计出现错误的符号数 三、 实验内容: 1、建立QPSK 的Matlab 仿真模型 2、对仿真模型中各个组成部分进行函数设计和功能仿真 randn('seed',10);mark=randn(1,LENGTH); subplot(2,2,1);plot(mark);title('watermarc:Gaussian noise'); 3、成型滤波器的设计 4、带限信道中的QPSK 调制解调 四、实验步骤: 1、开机,设置好本次仿真目录 2、进入matlab 环境,设置工作路径和目录 3、按照实验方法,一步步进行QPSK 各个模块的设计 s v α=

蚁群算法最短路径通用Matlab程序(附图)

蚁群算法最短路径通用Matlab程序(附图) function [ROUTES,PL,Tau]=ACASP(G,Tau,K,M,S,E,Alpha,Beta,Rho,Q) %% --------------------------------------------------------------- % ACASP.m % 蚁群算法动态寻路算法 % ChengAihua,PLA Information Engineering University,ZhengZhou,China % Email:aihuacheng@https://www.doczj.com/doc/aa5319754.html, % All rights reserved %% --------------------------------------------------------------- % 输入参数列表 % G 地形图为01矩阵,如果为1表示障碍物 % Tau 初始信息素矩阵(认为前面的觅食活动中有残留的信息素) % K 迭代次数(指蚂蚁出动多少波) % M 蚂蚁个数(每一波蚂蚁有多少个) % S 起始点(最短路径的起始点) % E 终止点(最短路径的目的点) % Alpha 表征信息素重要程度的参数 % Beta 表征启发式因子重要程度的参数 % Rho 信息素蒸发系数 % Q 信息素增加强度系数 % % 输出参数列表 % ROUTES 每一代的每一只蚂蚁的爬行路线 % PL 每一代的每一只蚂蚁的爬行路线长度 % Tau 输出动态修正过的信息素 %% --------------------变量初始化---------------------------------- %load D=G2D(G); N=size(D,1);%N表示问题的规模(象素个数) MM=size(G,1); a=1;%小方格象素的边长 Ex=a*(mod(E,MM)-0.5);%终止点横坐标 if Ex==-0.5 Ex=MM-0.5; end Ey=a*(MM+0.5-ceil(E/MM));%终止点纵坐标 Eta=zeros(1,N);%启发式信息,取为至目标点的直线距离的倒数 %下面构造启发式信息矩阵 for i=1:N if ix==-0.5

基于MATLAB的ASK调制解调实现

理工大学 《通信原理》课程设计报告 学院专业 班级学号 学生指导教师 课程成绩完成日期2016年1月8日

课程设计成绩评定 学院专业 班级学号 学生指导教师 课程成绩完成日期2016年1月8日指导教师对学生在课程设计中的评价 指导教师对课程设计的评定意见

课程设计任务书 城南学院通信工程专业

基于MATLAB的ASK调制解调实现 学生:指导老师: 摘要MATLAB是美国MathWorks公司生产的一个为科学和工程计算专门设计的交互式大型软件,本课程设计主要容是利用MATLAB集成环境下的M文件,编写程序来实现ASK的调制解调,要求采样频率为360HZ,并绘制出解调前后的时域和频域波形及叠加噪声时解调前后的时频波形,根据运行结果和波形来分析该解调过程的正确性及信道对信号传输的影响。目的是熟悉MATLAB中M文件的使用方法,并在掌握ASK调制解调原理的基础上,编写出2ASK调制解调程序,绘制出ASK信号解调前后在时域和频域中的波形,观察解调前后频谱有何变化以及对信号叠加噪声后的变化。最终得到随着输入信号噪声的增加增大,误码越严重的结论,加深对ASK信号解调原理的理解。 关键词ASK调制解调;时域谱;频域谱;高斯白噪声;信噪比 1 引言 通信原理是通信工程专业的一门重要的专业课,是通信工程专业后续专业课的基础,掌握通信原理课程的知识不仅可以打下一个坚实的专业基础,还能提高处理通信系统问题能力和素质。通过本课程设计的ASK振幅键控调制解调,可以进一步理解数字通信的基础理论,有助于加深对通信原理的理解。 1.1课程设计目的

通过设计基于MATLAB的ASK调制解调实现,让我深入理解和掌握二进制ASK调制解调以及噪声对信号传输的影响[1]。 在通信原理理论知识的基础上加深对ASK调制解调设计原理及实现方法的理解。使我对通信信号波形及频谱有深刻的认识。不仅加强了对课本知识的了解,而且还涉及到了MATLAB编程语言和软件的使用,以及基本的操作常识[2]。 掌握调制解调函数的应用,增强了我动手实践的能力。 1.2课程设计要求 根据所给的题目,查阅有关资料,掌握数字带通调制技术以及通信原理。 学会MATLAB中M文件的编写方法,能应用MATLAB软件中调制解调函数,掌握ASK调制解调原理,根据原理编写出ASK调制解调程序。 绘制出ASK信号解调前后在时域和频域中的波形,观察解调前后频谱的变化理解ASK信号解调原理。 对二进制基带信号叠加噪声后解调,绘制出解调前后信号的时频波形,然后改变噪声功率进行解调,记录并分析分析噪声对信号传输造成的影响。 根据要求独立完成课程设计学年论文,能正确阐述和分析设计结果并得出结论。 1.3课程设计步骤 产生数字基带信号并绘制时域谱和频域谱; 设置载波频率并绘制其时域谱和频域谱; 对信号进行数字调制并绘制时域谱和频域谱; 对已调信号进行解调并绘制时域谱和频域谱; 对已调信号加入高斯小噪声并绘制时域谱和频域谱;

基于蚁群算法的PID控制参数优化Matlab源码

基于蚁群算法的PID控制参数优化Matlab源码 (2009-07-26 12:31:02) 除了蚁群算法,可用于PID参数优化的智能算法还有很多,比如遗传算法、模拟退火算法、粒子群算法、人工鱼群算法,等等。 function [BESTX,BESTY,ALLX,ALLY]=ACOUCP

(K,N,Rho,Q,Lambda,LB,UB,Num,Den,Delay,ts,StepNum,SigType,PIDLB,PIDUB) %% 此函数实现蚁群算法,用于PID控制参数优化 % GreenSim团队原创作品,转载请注明 % Email:greensim@https://www.doczj.com/doc/aa5319754.html, % GreenSim团队主页:https://www.doczj.com/doc/aa5319754.html,/greensim % [color=red]欢迎访问GreenSim——算法仿真团队→[url=https://www.doczj.com/doc/aa5319754.html,/greensim] https://www.doczj.com/doc/aa5319754.html,/greensim[/url][/color] %% 输入参数列表 % K 迭代次数 % N 蚁群规模 % Rho 信息素蒸发系数,取值0~1之间,推荐取值0.7~0.95 % Q 信息素增加强度,大于0,推荐取值1左右 % Lambda 蚂蚁爬行速度,取值0~1之间,推荐取值0.1~0.5 % LB 决策变量的下界,M×1的向量 % UB 决策变量的上界,M×1的向量 % Num 被控制对象传递函数的分子系数向量 % Den 被控制对象传递函数的分母系数向量 % Delay 时间延迟 % ts 仿真时间步长 % StepNum 仿真总步数 % SigType 信号类型,1为阶跃信号,2为方波信号,3为正弦波信号 % PIDLB PID控制输出信号限幅的下限 % PIDUB PID控制输出信号限幅的上限 %% 输出参数列表 % BESTX K×1细胞结构,每一个元素是M×1向量,记录每一代的最优蚂蚁 % BESTY K×1矩阵,记录每一代的最优蚂蚁的评价函数值 % ALLX K×1细胞结构,每一个元素是M×N矩阵,记录每一代蚂蚁的位置 % ALLY K×N矩阵,记录每一代蚂蚁的评价函数值

相关主题
文本预览
相关文档 最新文档