• 大小: 19KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-24
  • 语言: Matlab
  • 标签: BPSK  

资源简介

BPSK,QPSK,8PSK,ASK,OOK,QAM信号的matlab调制仿真

资源截图

代码片段和文件信息

function varargout = digital_modulation(varargin)
%DIGITAL_MODULATION 
%Author: Diego Orlando Barrag醤 Guerrero
%diegokillemall@yahoo.com
%Loja (Ecuador)
%For more information visit: www.matpic.com
%Last Modified by GUIDE v2.5 25-Jan-2007 22:07:45

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct(‘gui_Name‘       mfilename ...
                   ‘gui_Singleton‘  gui_Singleton ...
                   ‘gui_OpeningFcn‘ @digital_modulation_OpeningFcn ...
                   ‘gui_OutputFcn‘  @digital_modulation_OutputFcn ...
                   ‘gui_LayoutFcn‘  []  ...
                   ‘gui_Callback‘   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State varargin{:});
else
    gui_mainfcn(gui_State varargin{:});
end
% End initialization code - DO NOT EDIT


% --- Executes just before digital_modulation is made visible.
function digital_modulation_OpeningFcn(hobject eventdata handles varargin)
% This function has no output args see OutputFcn.
% hobject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to digital_modulation (see VARARGIN)
        hold off;
        axes(handles.axes1);
        h=[1 1 0 1 0 0 1 1 1 0];
        hold off;
        bit=[];
        for n=1:2:length(h)-1;
            if h(n)==0 & h(n+1)==1
                se=[zeros(150) ones(150)];
            elseif h(n)==0 & h(n+1)==0
                se=[zeros(150) zeros(150)];
            elseif h(n)==1 & h(n+1)==0
                se=[ones(150) zeros(150)];
            elseif h(n)==1 & h(n+1)==1
                se=[ones(150) ones(150)];
            end
            bit=[bit se];
        end
        plot(bit‘LineWidth‘1.5);grid on;
        axis([0 500 -1.5 1.5]);
%*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
        axes(handles.axes3)
        hold off;
        fc=30;
        g=[1 1 0 1 0 0 1 1 1 0]; %modulante
        n=1;
    while n<=length(g)
        if g(n)==0
            tx=(n-1)*0.1:0.1/100:n*0.1;
            p=(1)*sin(2*pi*fc*tx);
            plot(txp‘LineWidth‘1.5);grid on;
            hold on;
        else 
            tx=(n-1)*0.1:0.1/100:n*0.1;
            p=(2)*sin(2*pi*fc*tx);
            plot(txp‘LineWidth‘1.5);grid on;
            hold on;
        end
            n=n+1;
            
    end

% Choose default command line output for digital_modulation
handles.output = hobject;

% Update handles structure
guidata(hobject handles);

% UIWAIT makes digital_modulation wait for user response (see UIRESUME)
% uiwait(handles.figure1);


% --- Outputs from this function are returned to the command line.
function varargout = digital_modulation_OutputFcn(hobject eventdata handles) 
% varargout  cell 

评论

共有 条评论