2fsk信号调制解调频谱的matlab仿真
- 格式:docx
- 大小:42.42 KB
- 文档页数:5
目录第一章软件简介 (2)1.1 Matlab简介 (2)1.2 Simulink介绍 (2)第二章FSK基本知识 (3)2.1 通信系统模型 (3)2.2 FSK的时域分析 (4)2.3 FSK信号的频谱特性: (5)2.4 2FSK数字系统的调制方法 (5)2.5 FSK数字系统的解调方法 (6)2.6 方案比较 (7)第三章Matlab仿真 (8)3.1仿真思路 (8)3.2 仿真程序 (8)3.3 输出波形及结果分析 (11)3.4结果分析 (17)第四章用Simulink仿真FSK调制解调 (17)4.1各单元模块功能介绍及电路设计 (17)4.2 电路参数的计算及元器件的选择 (18)4.3系统整体电路图 (19)4.4系统仿真实现 (19)4.5系统测试 (21)4.6参数设置 (22)心得体会 (25)参考文献 (27)第一章软件简介1.1Matlab简介Simulink是Matlab中的一部分,首先简单介绍一下Matlab。
Matlab是Matrix Laboratory的缩写,意为矩阵实验室。
它具有强大的矩阵处理功能和绘图功能,进还能进行文字处理,绘图,建模仿真等功能。
Matlab已经发展成为多学科、多种工作平台的功能强大的大型软件。
Matlab的帮助功能很强大,自带有详细的帮助手册,基于HTML的完整的帮助功能,也可以用help命令来得到帮助信息。
程序语法与C语言类似,设计自由度大,方便我们编程。
Matlab有高级的程序环境,但程序环境很简单易用。
Matlab源程序具有很大的开放性。
Matlab有强大的的图形绘制功能。
Matlab还拥有功能强大的各种工具箱。
这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高,精,尖的研究,能极大地促进我们的学习研究工作。
1.2Simulink介绍Simulink是Matlab中一个用来对动态系统进行建模、仿真和分析的软件包。
2FSK调制解调及其仿真1. 2FSK调制解调及其仿真.2. 相关调制解调的原理图如3. 输入的信号为:S(t)=[∑аn*g(t-nTs)]cosω1t+[ān*g(t-nTs)]cosω1t;ān是аn的反码.二、仿真思路1.首先要确定采样频率fs和两个载波频率的值f1,f2。
2.写出输入已经信号的表达式S(t)。
由于S(t)中有反码的存在,则需要将信号先反转后在从原信号和反转信号中进行抽样。
写出已调信号的表达式S(t)。
3.在2FSK的解调过程中,如上图原理图,信号首先通过带通滤波器,设置带通滤波器的参数,后用一维数字滤波函数filter对信号S(t)的数据进行滤波处理。
输出经过带通滤波器后的信号波形。
由于已调信号中有两个不同的载波(ω1, ω2),则经过两个不同频率的带通滤波器后输出两个不同的信号波形H1,H2。
4.经过带通滤波器后的2FSK信号再经过相乘器(cosω1,cosω2),两序列相乘的MATLAB表达式y=x1.*x2 → SW=Hn.*Hn ,输出得到相乘后的两个不同的2FSK波形h1,h2。
5.经过相乘器输出的波形再通过低通滤波器,设置低通滤波器的参数,用一维数字滤波韩式filter对信号的数据进行新的一轮的滤波处理。
输出经过低通滤波器后的两个波形(sw1,sw2)。
6.将信号sw1和sw2同时经过抽样判决器,分别输出st1,st2。
其抽样判决器输出的波形为最后的输出波形st。
对抽样判决器经定义一个时间变量长度i,当st1(i)>=st2(i)时,则st=0,否则st=st2(i).其中st=st1+st2。
三、仿真程序程序如下:fs=2000;%采样频率dt=1/fs;f1=20;f2=120; %两个信号的频率a=round(rand(1,10)); %随机信号g1=ag2=~a;%信号反转,和g1反向g11=(ones(1,2000))'*g1; %抽样g1a=g11(:)';g21=(ones(1,2000))’*g2;g2a=g21(:)’;t=0:dt:10-dt;t1=length(t);fsk1=g1a.*cos(2*pi*f1。
2FSK信号的调制解调与频谱绘制的matlab仿真a=randint(1,16);t=0.0001:0.001:1;inisig=a(ceil(t./(1/15)));subplot(5,1,1)plot(t,inisig)axis([0,1,-1.5,1.5])title('原信号');%调制f1=200;f2=100;carrier1=cos(2*pi*f1*t);carrier2=cos(2*pi*f2*t);modulation_wave=zeros(1,length(t));for i=1:length(t)if(inisig(i)==0)modulation_wave(i)=carrier1(i);elsemodulation_wave(i)=carrier2(i);endendsubplot(5,1,2)plot(t,modulation_wave)axis([0,1,-1.5,1.5])title('调制信号');%2fsk信号加噪noise_wave=awgn(modulation_wave,100);%设计带通滤波器[num1 den1]=butter(10,[2*0.9*f1*pi,2*1.1*f1*pi],'s');[num2 den2]=butter(10,[2*0.9*f2*pi,2*1.1*f2*pi],'s');daiout1_h=tf(num1,den1);daiout2_h=tf(num2,den2);unmodulation_wave1=lsim(daiout1_h,noise_wave,t); unmodulation_wave2=lsim(daiout2_h,noise_wave,t);%2fsk信号相干解调unmodulation_wave1_g=unmodulation_wave1'.*(carrier1); unmodulation_wave2_g=unmodulation_wave2'.*(carrier2);%设计低通滤波器wp=2*pi*90;ws=2*pi*120;rp=1;rs=100;[N Wn]=buttord(wp,ws,rp,rs,'s');[B A]=butter(N,Wn,'s');h=tf(B,A);dsy1=lsim(h,unmodulation_wave1_g,t);dsy2=lsim(h,unmodulation_wave2_g,t);subplot(5,1,3);plot(t,dsy1);title('经过一路低通滤波器后的信号');subplot(5,1,4);plot(t,dsy2);title('经过二路低通滤波器后的信号');for i=1:length(dsy1)if dsy1(i)>dsy2(i)dsy(i)=0;else dsy(i)=1;endendsubplot(5,1,5);plot(t,dsy);axis([0 1.2 -1.2 1.2])title('解调信号');%观察原信号频谱inisig_spectrum=fftshift(fft(inisig));maxf=1/0.001;f=-maxf/2:maxf/2-1;figuresubplot(5,1,1);plot(f,inisig_spectrum)title('观察原信号频谱');%观察调制信号频谱modulation_spectrum=fftshift(fft(modulation_wave));maxf=1/0.001;f=-maxf/2:maxf/2-1;subplot(5,1,2);plot(f,modulation_spectrum)title('观察调制信号频谱');%观察带通信号频谱unmodulation1_spectrum=fftshift(fft(unmodulation_wave1)); maxf=1/0.001;f=-maxf/2:maxf/2-1;subplot(5,1,4);plot(f,unmodulation1_spectrum)title('观察带通信号150频谱');unmodulation2_spectrum=fftshift(fft(unmodulation_wave2)); maxf=1/0.001;f=-maxf/2:maxf/2-1;subplot(5,1,3);plot(f,unmodulation2_spectrum)title('观察带通信号100频谱');length(unmodulation_wave1)%观察低通滤波器频谱dsy_spectrum=fftshift(fft(dsy));maxf=1/0.001;f=-maxf/2:maxf/2-1;subplot(5,1,5);plot(f,dsy_spectrum)title('观察低通信号100频谱');信号频谱图观察原信号频谱-500-400-300-200-1000100200300400500观察调制信号频谱-500-400-300-200-1000100200300400500观察带通信号100频谱-500-400-300-200-1000100200300400500观察带通信号150频谱观察低通信号100频谱-500-400-300-200-1000100200300400500观察上图,调制解调的频谱搬移基本正确,调制到高频,又解调回到低频。
潍坊学院专业课综合课程设计说明书——利用matlab 实现 2FSK调制解调的仿真系部:信息控制与工程学院专业:电子信息工程班级:学生:学号:指导教师:2012年 12月01日目录1 MATLAB 软件简介 (1)2 理论分析 . (2)2.1 2FSK信号的产生 (2)2.2 2FSK信号的解调方式 (3)3 MATLAB 实现程序 (5)3.1 生成 2FSK的程序 (5)3.2 2FSK调制解调系统进行设计和仿真源程序 (7)5心得体会 . (16)6参考文献 . (17)1 MATLAB 软件简介MATLAB是目前国际上流行的进行科学研究、工程计算的软件。
它起源于矩阵运算,并已经发展成为一种高度集成的计算机语言。
MATLAB具有强大的数学运算能力、方便实用的绘图功能及语言的高度集成性。
除具备卓越的数值计算能力之外,它还提供了专业水平的符号计算、文字处理、可视化建模仿真、实时控制等功能。
在通信领域 MATLAB更是优势明显,因为通信领域中很多问题是研究系统性能的,传统的方法只有构建一个实验系统,采用各种方法进行测量,才能得到所需的数据,这样不仅需要花费大量的资金用于实验系统的构建,而且系统构建周期长,系统参数的调整也十分困难。
而 MATLAB的出现使得通信系统的仿真能够用计算机模拟实现,免去构建实验系统的不便,而且操作十分简便,只需要输入不同的参数就能得到不同情况下系统的性能,而且在结构的观测和数据的存储方面也比传统的方式有很多优势。
因而 MATLAB在通信仿真领域得到越来越多的应用。
2 理论分析2.1 2FSK 信号的产生2FSK 是利用数字基带信号控制在波的频率来传送信息。
例如,1 码用频率f1 来传输, 0 码用频率 f2 来传输,而其振幅和初始相位不变。
故其表示式为_s 2FSK (t) [ a n g(t nT s )] cos( 1tn )[ a n g(tnT s )] cos( 2t n ) nn式中,假设码元的初始相位分别为 n 和 n ; 12π f1 和2 2π f2为两个不同的码元的角频率;幅度为 A 为一常数,表示码元的包络为矩形脉冲。
clear all;close all;f = 300;t = 2*(0:0.001:1-0.01)/f;x = t;singal= sin(2*pi*f*x)+1;% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %% u率PCM编码%% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %a = singal;n = 8;%u率非线性u = 255;%%%%%%%%%%%%待考察,应该是255%%%%%%c = zeros(size(a));for i = 1:length(a)c(i) = log(1+u*a(i))/log(1+u); %在PCM中要求x应该大于0endcmax = max(c);cmin = min(c);%均匀量化c_quan = c;b_quan = c_quan;d = (cmax - cmin)/n; %此处有问题%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % % % % % % % % % % % % 自己写的量化代码% % % % % % % % % % % %for j = 1:n+1kk(j) = cmin + j*d;endfor k = 1:nq(k) = (kk(k)+kk(k+1))/2;end% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %for i = 1:nm = find((q(i)-d/2 <= c_quan) & (q(i)+d/2 >= c_quan));c_quan(m) = q(i).*ones(1,length(m));b_quan(find(c_quan==q(i))) = (i-1).* ones(1,length(find(c_quan==q(i))));end% 编码nu = ceil(log2(n));code = zeros(length(a),nu);for i = 1:length(a)for j = (nu-1):-1:0if (fix(b_quan(i)/(2^j))==1)code(i,(nu-j)) = 1;b_quan(i) = b_quan(i)-2^j;endendendbitstorm = [];for i = 1:length(code)bitstorm = [bitstorm,code(i,:)];end% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %% FSK调制的实现% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %figure(1)subplot(221);stairs (bitstorm(1:20));title('调制信号');axis([0,20,-0.1,1.2]);grid on% % % % % % % % % % % % %这是设置随机数值% % % % % % % % % % % % % % % % % % % % % % %rand('state',sum(100*clock));randn('state',sum(100*clock));mintestlongth = 1000;maxtestlongth = 1000;A = 1;Eb = A * A;SNR = 10; %信噪比index = 1;% for SNR1 = 0:10disp ('程序在运行,请稍等.....');N0 = Eb * 10^(-SNR/10);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%待解决noiseVar = N0/2;%噪声密度noiseRoot = sqrt(noiseV ar) % 噪声的均方差errorCount = 0;testCount = 0;f1 = 1;f2 = 2;mm = 0:0.02:1-0.02;%抽样判决在t轴上的抽样矩阵i = 0;DemoFSK = zeros(1,mintestlongth);FSK = zeros(1,10*length(mm)); %%%%%%%%%%%%%%%%%%%%这是为什么noise_FSK = zeros(1,10*length(mm));while (1)i = i +1;% % % % % % % % % % % % % % % % % % % % 调制解调src = bitstorm(i);src1 = src;src2 = 1-src;noise = noiseRoot.*randn(1,length(noiseRoot));%高斯白噪声矩阵fsk = cos(2*pi*f1*mm)*src1 + cos(2*pi*f2*mm)*src2;noise_fsk = fsk + noise;if i <= 10FSK(1+length(mm)*(i-1):length(mm)*i) = fsk; %修改过%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%noise_FSK(1+length(mm)*(i-1):length(mm)*i) = noise_fsk;endofsk1 = noise_fsk.* cos(2*pi*f1*mm);ofsk2 = noise_fsk.* cos(2*pi*f2*mm);ofsk11 = filtfilt(ones(1,10),9.7675,ofsk1);% 低通滤波ofsk22 = filtfilt(ones(1,10),9.7675,ofsk2);avo1 = sum(abs(ofsk11))/length(mm);% 抽样值的绝对值的平均值avo2 = sum(abs(ofsk22))/length(mm);if avo1 >= 1/2DemoFSK(i) = 1;elseDemoFSK(i) = 0;endif avo1>1/2 & avo2 >1/2errorCount = errorCount + 1;elseif avo1<1/2 & avo2 <1/2errorCount = errorCount + 1;endtestCount = testCount + 1; %测试的长度if (testCount < mintestlongth) % 判断测试长度是否达到要求continue;endtempBER = errorCount/testCount % 误码率if (tempBER > 0)thresholdTestLongth = 1/tempBER; % 根据误码率来确定测试的长度elsethresholdTestLongth = maxtestlongth;endif (testCount >= thresholdTestLongth)myTestLength(index) = testCount;myBER(index) = tempBER;mySNR(index) = SNR;index = index + 1;breakendend% endsubplot(222),plot(FSK);title ('FSK信号');subplot(223),plot(noise_FSK);title ('加入噪声的FSK信号');subplot(224),stairs(DemoFSK(1:20)),axis([0,20,-0.2,1.2]);title('解调后的信号');figure(2);subplot(221),plot((0:length(bitstorm)-1),10*log10(abs(fft(bitstorm))));title('调制信号频谱'); subplot(222),plot((0:length(FSK)-1),10*log10(abs(fft(FSK))));title('FSK信号频谱');subplot(223),plot((0:length(noise_FSK)-1),10*log10(abs(fft(noise_FSK))));title('加入噪声的FSK 信号频谱');subplot(224),plot((0:length(DemoFSK)-1),10*log10(abs(fft(DemoFSK))));title('解调后的信号频谱');figure(3)semilogy(mySNR,myBER,'r+-');xlabel('信噪比');ylabel('误码率');hold on;SNR_R = 10.^(mySNR/10);thBER = 0.5*erfc(sqrt(SNR_R/2));semilogy(mySNR,thBER,'*-');legend('仿真结果','理论结果');gridon;。
基于MATLAB对FSK信号调制与解调的仿真摘要Matlab平台的著名仿真环境Simulink作为一种种专业和功能强大且操作简单的仿真工具,目前已被越来越多的工程技术人员所青睐,它搭建积木式的建模仿真方式既简单又直观,而且已经在各个领域得到了广泛的应用。
本文主要是以simulink为基础平台,对2FSK信号的仿真。
文章第一章内容是对simulink的简单介绍和通信技术的目前发展和未来展望;第二章是对2FSK 信号调制及解调原理的详细说明;第三章是2FSK信号的仿真部分,调制和解调都是simulink建模的的方法,在解调部分各信号都是采用相干解调的方法,而且在解调的过程中都对整个系统的误码率在display模块中有所显示本文的主要目的是对simulink的熟悉和对数字通信理论的更加深化和理解。
关键词:2FSK simulink 调制解调相干解调目录1Simulink的简介与通信技术的历史和发展 (1)1.1 Simulink的简介 (1)1.2 通信技术的历史和发展 (1)1.2.1 通信的概念 (1)1.2.2 数字通信的发展现状和趋势 (1)22FSK的基本原理和实现 (2)3 2FSK调制与解调仿真 (5)3.1 调制仿真 (5)3.2 解调仿真 (9)总结 (12)参考资料 (12)1 Simulink的简介与通信技术的历史和发展1.1 Simulink的简介Simulink包含有SINKS(输出方式)、SOURCE(输入源)、LINEAR(线性环节)、NONLINEAR(非线性环节)、CONNECTIONS(连接与接口)和EXTRA (其他环节)子模型库,而且每个子模型库中包含有相应的功能模,用户也可以定制和创建用户自己的模块。
用Simulink创建的模型可以具有递阶结构,因此用户可以采用从上到下或从下到上的结构创建模型。
用户可以从最高级开始观看模型,然后用鼠标双击其中的子系统模块,来查看其下一级的内容,以此类推,从而可以看到整个模型的细节,帮助用户理解模型的结构和各模块之间的相互关系。
天津理工大学计算机与通信工程学院通信工程专业设计说明书基于Matlab/Simulink的2FSK调制解调仿真设计与研究目录摘要 (3)第一章前言 (4)1.1专业设计任务及要求 (4)1.2M ATLAB简介 (4)1.3M ATLAB下的SIMULINK简介 (4)1.4通信系统模型 (5)第二章 FSK调制解调原理及MATLAB仿真 (6)2.1FSK信号产生原理 (6)2.1.1 2FSK信号的产生: (6)2.1.2 2FSK信号的频谱特性: (7)2.2FSK调制原理 (7)2.3FSK解调原理 (9)2.4仿真思路 (9)2.5仿真程序 (10)2.6输出波形及结果分析 (12)结果分析 (17)第三章用SIMULINK仿真FSK调制解调 (18)3.1用S IMULINK仿真FSK调制 (18)3.1.1 Simulink仿真FSK调制框图 (18)3.1.2参数设置 (18)3.1.3仿真波形 (19)3.2用S IMULINK仿真FSK解调 (21)3.2.1 Simulink仿真FSK解调框图 (21)3.2.2参数设置 (21)3.2.3仿真波形及分析 (23)第五章结论 (25)参考文献 (26)摘要本设计是基于MATLAB来实现调制与解调的仿真。
主要设计思想是利用MATLAB和MATLAB集成环境下Simulink的仿真平台,这个强大的数学软件工具方便快捷灵活的功能实现数字调制解调中的频率调制与解调的设计。
首先,先阐述了通信系统的模型,以及FSK信号的产生原理,调制与解调的基本原理。
然后分别设计了FSK调制框图和解调框图,实现了Matlab程序仿真和Simulink系统仿真,在解调部分各信号都是采用相干解调、非相干解调的方法,同时在没有噪声的情况下和存在噪声的基础上分别对信号进行调制与解调,并且在解调的过程中都对整个系统的误码率在display模块中有所显示,得到了比较准确的结果,进而在存在噪声和不存在噪声时进行对比,对结果进行了详尽而且准确的分析。
(完整版)基于MATLAB的2FSK的调制与解调基于MATLAB的2FSK数字通信系统仿真一、课程设计目的二、课程设计内容在信道中,大多数具有带通传输特性,必须用数字基带信号对载波进行调制,产生各种已调数字信号。
可以用数字基带信号改变正弦型载波的幅度、频率或相位中的某个参数,产生相应的数字振幅调制、数字频率调制和数字相位调制。
也可以用数字基带信号同时改变正弦型载波幅度、频率或相位中的某几个参数,产生新型的数字调制。
本课程设计旨在根据所学的通信原理知识,并基于MATLAB软件,仿真一2FSK 数字通信系统。
2FSK数字通信系统,即频移键控的数字调制通信系统。
频移键控是利用载波的频率变化来传递数字信息。
在2FSK中,载波的频率随二进制基带信号在f1和f2两个频率点间变化。
因此,一个2FSK信号的波形可以看成是两个不同载频的2ASK信号的叠加。
可以利用频率的变化传递数字基带信号,通过调制解调还原数字基带信号,实现课程设计目标。
三、2FSK的基本原理和实现二进制频率调制是用二进制数字信号控制正弦波的频率随二进制数字信号的变化而变化。
由于二进制数字信息只有两个不同的符号,所以调制后的已调信号有两个不同的频率f1和f2,f1对应数字信息“1”,f2对应数字信息“0”。
二进制数字信息及已调载波如图3-1所示。
1、2FSK的产生在2FSK信号中,当载波频率发生变化时,载波的相位一般来说是不连续的,这种信号称为不连续2FSK信号。
相位不连续的2FSK通常用频率选择法产生,如图3-2所示:图3-2 2FSK信号调制器两个独立的振荡器作为两个频率发生器,他们受控于输入的二进制信号。
二进制信号通过两个与门电路,控制其中的一个载波通过。
调制器各点波形如图3-3所示:图3-3 2FSK调制器各点波形由图3-3可知,波形g是波形e和f的叠加。
所以,二进制频率调制信号2FSK可以看成是两个载波频率分别为f1和f2的2ASK信号的和。
华东交通大学现代通信仿真技术大作业报告题目:基于Matlab的2FSK调制与仿真作者姓名:专业班级:2011级通信工程学号:指导老师:时间:2013~2014学年第一学期基于MATLAB的2FSK调制及仿真摘要现代通信仿真技术是对设计的通信系统进行模拟仿真的一门科学技术,以提升系统的可用性。
通信系统是用于完成信息传输过程的技术系统的总称。
现代通信系统分为无线通信和有线通信,它在各个领域发挥越来越重要的作用。
MATLAB和System viewv Simulink是实现通信仿真的重要技术手段。
MATLAB是商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
利用它们可以构造各种复杂的模拟、数字、数模混合通信系统和各种多速率系统,也可用于各种线性或非线性控制系统的设计和仿真。
它是一个强有力的动态系统分析工具,可进行包括数字信号处理(DSP)系统、模拟与数字通信系统、信号处理系统和控制系统的仿真分析。
System View是一个用于电路与通信系统设计、仿真的动态分析工具,它实现了功能的软件化,避开了复杂的硬件搭建,在不具备先进仪器的条件下同样也能完成复杂的通信系统设计与仿真本文利用System view软件设计模拟调制和解调电路,通过分析其输入输出波形验证所设计电路的正确性。
本文通过分别用Matlab、Simulink、System view设计2FSK调制与解调的仿真,深入了解数字频率调制2FSK的基本原理,掌握用现代通信仿真技术对解调与调制的实现,深刻理解Matlab、Simulink以及System view软件的使用方法和设计方法。
目录摘要 (1)一、数字调制2FSK原理 (3)1、数字调制2FSK原理 (3)2、数字调制2FSK的解调方法 (4)二、Simulink实现2FSK调制 (5)1、仿真原理图 (5)2、参数设置和仿真结果 (5)三、用System view 实现2FSK调制与解调统通 (6)1、调制原理与解调原理 (6)2、仿真图与结果 (7)四、用Matlab程序实现2FSK的调制 (9)1、详细设计过程 (9)2、程序源代码 (9)3、仿真结果图 (11)五、总结 (12)一、数字调制2FSK 原理1、数字调制2FSK 原理 数字频率调制又称频移键控(FSK ),二进制频移键控记作2FSK 。
《通信原理》课程设计题目:基于Matalab的2FSK数字调制解调系统学院(部):电子信息工程学院专业:电子信息工程学生姓名:学号:年级 2007 指导教师:职称副教授2010 年 07 月 01日目录摘要 (2)一、引言 (2)1、设计目的及任务要求 (2)2、课程设计内容 (2)二、绪论 (3)2.1通信技术的历史和发展 (3)2.1.1通信的概念 (3)2.1.2通信的发展史简介 (3)2.2数字调制技术 (3)2.3数字调制的发展现状和趋势 (4)三、2FSK数字系统的调制和解调的原理图. (6)3.12FSK数字系统的调制原理图 (6)3.22FSK的解调方式 (6)3.2.1 非相干解调 (6)3.2.2 相干解调 (7)四、2FSK的的调制与解调过程的MATLAB 仿真原理图及其分析 (8)4.1利用MATLAB建立系统的仿真图。
(8)4.2系统中仿真模块的作用及主要参数的设置分析 (8)4.2.1 Bernoulli Binary Generator模块 (8)4.2.2 M-FSK Modulator Baseband 模块 (8)4.2.3 M-FSK Demodulator Baseband模块 (9)4.2.4 Channels模块 (9)4.2.5 Error rate Calculation模块 (9)4.2.6 Scope模块 (9)4.2.7 Display模块 (9)4.2.8 Relational Operator模块 (9)4.2.9 Dlay模块 (9)4.2.10 Eye diagram scope模块 (9)五、 2FSK的的调制与解调过程的MATLAB仿真结果波形图及分析 (10)5.1眼图的定义、模块、波形及其分析 (10)5.1.1眼图的定义 (10)5.1.2眼图的模块 (10)5.1.3眼图的波形 (10)5.1.4眼图波形的分析 (11)5.2S COPE端的最终波形图 (12)六、总结 (15)七、参考文献 (16)摘要本文主要是利用MATLAB7.0来实现2FSK数字调制系统解调器的设计.该设计模块包含信源,调制,发送滤波器模块,信道,接收滤波器模块,解调以及信宿.并为各个模块进行相应的参数设置在此基础上熟悉MATLAB的功能及操作,最后通过观察仿真图形进行波形分析(眼图)及系统的性能评价(分析误码率).关键词:2FSK MATLAB 调制解调噪声一、引言1、设计目的及任务要求1.学习使用计算机建立通信系统仿真模型的基本方法及基本技能,学会利用仿真的手段对于实用通信系统的基本理论、基本算法进行实际验证;2.学习现有流行通信系统仿真软件MATLAB7.0的基本使用方法,学会使用这些软件解决实际系统出现的问题;3.通过系统仿真加深对通信课程理论的理解。
潍坊学院专业课综合课程设计说明书——利用matlab实现2FSK调制解调的仿真系部:信息控制与工程学院专业:电子信息工程班级:学生: 学号:指导教师:2012年 12 月 01 日目录1 MATLAB软件简介 (1)2 理论分析 (2)2.12FSK信号的产生 (2)2.22FSK信号的解调方式 (3)3 MATLAB实现程序 (5)3.1生成2FSK的程序 (5)3.22FSK调制解调系统进行设计和仿真源程序 (7)5 心得体会 (16)6 参考文献 (17)1 MATLAB软件简介MATLAB是目前国际上流行的进行科学研究、工程计算的软件。
它起源于矩阵运算,并已经发展成为一种高度集成的计算机语言。
MATLAB具有强大的数学运算能力、方便实用的绘图功能及语言的高度集成性。
除具备卓越的数值计算能力之外,它还提供了专业水平的符号计算、文字处理、可视化建模仿真、实时控制等功能。
在通信领域MATLAB更是优势明显,因为通信领域中很多问题是研究系统性能的,传统的方法只有构建一个实验系统,采用各种方法进行测量,才能得到所需的数据,这样不仅需要花费大量的资金用于实验系统的构建,而且系统构建周期长,系统参数的调整也十分困难。
而MATLAB的出现使得通信系统的仿真能够用计算机模拟实现,免去构建实验系统的不便,而且操作十分简便,只需要输入不同的参数就能得到不同情况下系统的性能,而且在结构的观测和数据的存储方面也比传统的方式有很多优势。
因而MATLAB在通信仿真领域得到越来越多的应用。
2 理论分析2.1 2FSK 信号的产生2FSK 是利用数字基带信号控制在波的频率来传送信息。
例如,1码用频率f1来传输,0码用频率f2来传输,而其振幅和初始相位不变。
故其表示式为)cos()]([)cos(])([)(2_12n s nn n ns n FSK t nT t g a t nT t g a t s ϕωθω+-++-=∑∑式中,假设码元的初始相位分别为n θ和n ϕ;112f π=ω和222f π=ω为两个不同的码元的角频率;幅度为A 为一常数,表示码元的包络为矩形脉冲。
2FSK调制解调器的FPGA与MATLAB设计与实现贺炜【摘要】文章介绍了相位连续的2FSK调制解调的原理.利用FPGA,采用键控法设计了可以根据检测到的脉冲码元分时输出不同频率正弦波的DDS发生器.利用MATLAB窗函数设计了FIR滤波器,研究了不同窗函数及量化位数对于FIR滤波器频率响应曲线的影响,求出FIR滤波器抽头系数并导入FPGA FIR IP核,实现了全并行分布式结构的FIR低通及带通滤波器.最后采用Verilog hdl语言实现了基于FPGA的2FSK调制及非相干解调,通过Model sim仿真得到非相干解调各节点信号的波形.仿真及实验结果表明基于FPGA和MATLAB设计的相位连续2FSK调制解调器是正确的,具有较高的实用性和可靠性.【期刊名称】《信息记录材料》【年(卷),期】2018(019)002【总页数】3页(P78-80)【关键词】FPGA;MATLAB;2FSK;FIR;调制;解调【作者】贺炜【作者单位】西安石油大学电子工程学院陕西西安 710065【正文语种】中文【中图分类】TN713随着EDA技术的高速发展,现场可编程门阵列(Field-Programmable Gate Array,FPGA) 因其具有可编程性、开发周期短、集成化程度高、灵活性强等特点,在通信领域的应用越来越广[1]。
频移键控(Frequency-shift keying,FSK)调制解调技术是现代通信中一项关键的技术[2-3],调制解调效果的好坏更是直接关系着通信是否成功。
文章以 Altera型号FPGA 作为硬件核心,硬件与软件相结合,采用verilog hdl语言及MATLAB仿真,设计了DDS发生器及FIR滤波器,实现了相位连续的2FSK调制解调器,具有较高的实用性、可靠性和灵活性。
频移键控(FSK)是利用载波的频率变化来传递数字信息,在2FSK中,载波的频率随二进制基带信号在f1和f2两个频率点间变化。
基于MATLAB的2ASK和2FSK调制仿真2ASK调制仿真一、实验设计1.实验目的通过MATLAB仿真实现2ASK调制过程,了解2ASK调制的原理和过程。
2.实验原理2ASK调制是一种基于振幅调制(AM)的数字调制方式。
将数字信号根据其幅值变化对载波进行调制,从而实现数字信号的传输。
2ASK调制的过程可以分为三个步骤:(1)将数字信号变为模拟信号;(2)将模拟信号进行波形调制;(3)生成2ASK调制信号。
3.实验步骤(1)生成符号序列;(2)将符号序列转为数字信号;(3)将数字信号调制成模拟信号;(4)将模拟信号进行波形调制;(5)生成2ASK调制信号。
4.实验结果(1)生成符号序列:符号序列的生成可以通过MATLAB的randi函数来实现。
代码如下:symbolSequence = randi([0, 1], 1, N);(2)将符号序列转为数字信号:由于二进制数字信号只包含两个数字(0和1),我们可以通过将符号序列中的0用低电平来表示,将1用高电平来表示。
代码如下:digitalSignal = 2 * symbolSequence - 1;(3)将数字信号调制成模拟信号:数字信号调制成模拟信号需要先进行差分编码,然后通过插值法将数字信号转为模拟信号。
代码如下:diffCode = diff(digitalSignal);modulatedSignal = interp1([0:length(diffCode)-1], diffCode, linspace(0, length(diffCode)-1, Fs/Fsymbol));(4)将模拟信号进行波形调制:将模拟信号进行波形调制需要通过乘以载波信号来实现。
代码如下:carrierSignal = cos(2 * pi * Fc * t);modulatedSignal = carrierSignal .* modulatedSignal;(5)生成2ASK调制信号:代码如下:ASKSignal = (modulatedSignal + 1) / 2;二、实验结果通过以上实验步骤,我们可以得到2ASK调制信号。
2FSK信号的调制解调与频谱绘制的matlab仿真
a=randint(1,16);
t=0.0001:0.001:1;
inisig=a(ceil(t./(1/15)));
subplot(5,1,1)
plot(t,inisig)
axis([0,1,-1.5,1.5])
title('原信号');
%调制
f1=200;
f2=100;
carrier1=cos(2*pi*f1*t);
carrier2=cos(2*pi*f2*t);
modulation_wave=zeros(1,length(t));
for i=1:length(t)
if(inisig(i)==0)
modulation_wave(i)=carrier1(i);
else
modulation_wave(i)=carrier2(i);
end
end
subplot(5,1,2)
plot(t,modulation_wave)
axis([0,1,-1.5,1.5])
title('调制信号');
%2fsk信号加噪
noise_wave=awgn(modulation_wave,100);
%设计带通滤波器
[num1 den1]=butter(10,[2*0.9*f1*pi,2*1.1*f1*pi],'s');
[num2 den2]=butter(10,[2*0.9*f2*pi,2*1.1*f2*pi],'s');
daiout1_h=tf(num1,den1);
daiout2_h=tf(num2,den2);
unmodulation_wave1=lsim(daiout1_h,noise_wave,t); unmodulation_wave2=lsim(daiout2_h,noise_wave,t);
%2fsk信号相干解调
unmodulation_wave1_g=unmodulation_wave1'.*(carrier1); unmodulation_wave2_g=unmodulation_wave2'.*(carrier2);
%设计低通滤波器
wp=2*pi*90;
ws=2*pi*120;
rp=1;
rs=100;
[N Wn]=buttord(wp,ws,rp,rs,'s');
[B A]=butter(N,Wn,'s');
h=tf(B,A);
dsy1=lsim(h,unmodulation_wave1_g,t);
dsy2=lsim(h,unmodulation_wave2_g,t);
subplot(5,1,3);
plot(t,dsy1);
title('经过一路低通滤波器后的信号');
subplot(5,1,4);
plot(t,dsy2);
title('经过二路低通滤波器后的信号');
for i=1:length(dsy1)
if dsy1(i)>dsy2(i)
dsy(i)=0;
else dsy(i)=1;
end
end
subplot(5,1,5);
plot(t,dsy);
axis([0 1.2 -1.2 1.2])
title('解调信号');
%观察原信号频谱
inisig_spectrum=fftshift(fft(inisig));
maxf=1/0.001;
f=-maxf/2:maxf/2-1;
figure
subplot(5,1,1);
plot(f,inisig_spectrum)
title('观察原信号频谱');
%观察调制信号频谱
modulation_spectrum=fftshift(fft(modulation_wave));
maxf=1/0.001;
f=-maxf/2:maxf/2-1;
subplot(5,1,2);
plot(f,modulation_spectrum)
title('观察调制信号频谱');
%观察带通信号频谱
unmodulation1_spectrum=fftshift(fft(unmodulation_wave1)); maxf=1/0.001;
f=-maxf/2:maxf/2-1;
subplot(5,1,4);
plot(f,unmodulation1_spectrum)
title('观察带通信号150频谱');
unmodulation2_spectrum=fftshift(fft(unmodulation_wave2)); maxf=1/0.001;
f=-maxf/2:maxf/2-1;
subplot(5,1,3);
plot(f,unmodulation2_spectrum)
title('观察带通信号100频谱');
length(unmodulation_wave1)
%观察低通滤波器频谱
dsy_spectrum=fftshift(fft(dsy));
maxf=1/0.001;
f=-maxf/2:maxf/2-1;
subplot(5,1,5);
plot(f,dsy_spectrum)
title('观察低通信号100频谱');
信号频谱图
观察原信号频谱
-500-400-300-200-1000100200300400500
观察调制信号频谱
-500-400-300-200-1000100200300400500
观察带通信号100频谱
-500-400-300-200-1000100200300400500
观察带通信号150频谱
观察低通信号100频谱
-500-400-300-200-1000100200300400500观察上图,调制解调的频谱搬移基本正确,调制到高频,又解调回到低频。
观察上图,解调出来的信号不完成正确。
这主要是因为带通滤波器设计的不太好造成的。
From :qianmyi 0
0.10.20.30.40.50.60.70.80.91-1
1原信号
0.10.20.30.40.50.60.70.80.91-1
1调制信号00.10.20.30.40.50.60.70.80.91-1
1
经过一路低通滤波器后的信号00.10.20.30.40.50.60.70.80.91
-1
1
经过二路低通滤波器后的信号00.20.40.60.81 1.2-1
1
解调信号。