matlab实现FSK

  • X2_891946
    了解作者
  • matlab
    开发工具
  • 1.2KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 1
    下载次数
  • 2022-02-22 11:06
    上传日期
用matlab实现FSK调制、解调,以及噪声处理
matlab实现FSK
  • FSK.m
    2.5KB
内容介绍
function FSK Fs=50000; nsamp=100; M=2; %进制数 %genarate m sequence x=[1 0 1 1 0 1 1]; n=length(x); N=2^n-1; register=[zeros(1,n-1) 1]; mseq(1)=register(n); for i=2:N newregister(1)=mod(sum(x.*register),2); for j=2:n newregister(j)=register(j-1); end; register=newregister; mseq(i)=register(n); end; figure(1) stem([0:N-1],mseq(1:N),'bx'); title('二进制m序列') xlabel('Time'); ylabel('Amplitude'); %调制 y=fskmod(mseq,M,2000,nsamp,Fs); N1=N*nsamp; t=[0:N1-1]; figure(2) plot(t,y(1:length(t)),'b-'); axis([min(t) max(t) -1.5 1.5]); title('调制后的信号') xlabel('Time'); ylabel('Amplitude'); %在已调信号中加入高斯白噪声 snr=2; y_power=var(y); %var函数: 返回方差值 linear_snr=10^(snr/10); factor=sqrt(y_power/linear_snr); noise=randn(1,length(y))*factor; p=y+noise; %由SNR计算随机噪声 figure(3) plot(t,p(1:length(t)),'b-');%画出经过信道的实际信号 axis([min(t) max(t) -1.5 1.5]); title('加入高斯白噪声后的已调信号') xlabel('Time'); ylabel('Amplitude'); %相干解调 z1=fskdemod(p,M,2000,100,Fs); figure(4) stem([0:N-1],mseq(1:N),'bx'); hold on; stem([0:N-1],z1(1:N),'ro'); hold off; axis([0 N -0.5 1.5]); title('相干解调后的信号原序列比较') legend('原输入二进制随机序列','相干解调后的信号') xlabel('Time'); ylabel('Amplitude'); %解调信号与原信号周期图法功率谱估计 Smseq=abs(fft(mseq)); L=length(Smseq); Pmseq=Smseq.*conj(Smseq); k=0:floor(L/2-1); figure(5) subplot(2,1,1) plot(k*15/L,10*log10(Pmseq(k+1))); title('原信号功率谱') Sz1=abs(fft(z1)); Z=length(Sz1); Pz1=Sz1.*conj(Sz1); k=0:floor(Z/2-1); subplot(2,1,2); plot(k*15/Z,10*log10(Pz1(k+1))); title('加噪声信号解调输出功率谱') %自适应滤波器滤除高斯白噪声 p1=noise; %噪声源输入 p2=noise; w1=0; %权系数初值 w2=0; e=zeros(1,length(p)); v=0; u=0.05; for i=1:500 %LMS算法 v=w1*p1(i)+w2*p2(i); e(i)=p(i)-v; w1=w1+u*e(i)*p1(i); w2=w2+u*e(i)*p2(i); end %调制信号BT法功率谱估计 Ry=xcorr(y,'biased'); P=length(Ry); Py=abs(fft(Ry)); k=0:floor(P/2-1); figure(6) subplot(3,1,1); plot(k*15/P,10*log10(Py(k+1))); title('无噪声调制信号功率谱') Rp=xcorr(p,'biased'); Q=length(Rp); Pp=abs(fft(Rp)); k=0:floor(Q/2-1); subplot(3,1,2); plot(k*15/P,10*log10(Pp(k+1))); title('加噪声调制信号功率谱') Re=xcorr(e,'biased'); W=length(Re); Pe=abs(fft(Re)); k=0:floor(W/2-1); subplot(3,1,3); plot(k*15/W,10*log10(Pe(k+1))); title('滤除噪声后调制信号功率谱')
评论
    相关推荐
    • Matlab合集
      冈萨雷斯数字图像处理MATLAB版.中文版+数字图像处理第二版中文版(冈萨雷斯)+MATLAB-R2014a完全自学一本通+MATLAB R2016a完全自学一本通 素材文件+[模式识别与智能计算:MATLAB技术实现(第2版)].杨淑莹.扫描版
    • MATLAB教程
      MATLAB教程MATLAB教程MATLAB教程MATLAB教程MATLAB教程MATLAB教程
    • MATLAB
      MATLAB 该项目是在matlab上完成的,涉及创建和移动宇宙飞船和机器人。 太空飞船和机器人是使用Matlab中的简单几何形状创建的,并通过连续变换矩阵进行移动。 这个项目教我如何使用变换矩阵(旋转,平移等)的概念...
    • MATLAB基础
      一本学习matlab的一本好书
    • MATLAB编译器
      基于MATLAB 2018b版本介绍MATLAB编译器。介绍如何利用编译器将MATLAB代码编译为独立应用程序或组件,并在没有安装MATLAB的计算机上进行部署。
    • matlabruntime
      通过奇点容器运行您的matlab项目 可以在没有MATLAB的容器中运行matlab代码。 为此,我们首先需要通过Matlab编译器在本地构建相应的Matlab代码的独立应用程序,然后使用具有Matlab运行时( 的容器)运行该应用程序 )...
    • matlab实现
      matlab实现 matlab实现matlab实现matlab实现matlab实现
    • matlab 教程
      matlab 信号处理资料,里面包含信号处理pdf文档,一些杂乱的程序和命令等
    • matlab教程
      matlab教程,PPT格式,包含 matlab基本知识、matlab入门、matlab作图、线性规划、无约束优化、非线性规划、统计工具箱、差值、微分方程等多项知识点,并且每个知识点独立成为PPT,内还含有matlab信号处理详解等文档...
    • matlab简介
      1.MATLAB 开发环境 1.1 MATLAB 的视窗环境 进入MATLAB之后,会看到一个视窗MATLAB Command Window称为指令视窗,它是你键入指令的地方同时 MATLAB也将计算结果显示在此。 1.2 简易计算 我们先从MATLAB的...