当前位置:网站首页>【数字信号调制】基于 AM+FM+DSB+SSB实现信号调制解调含Matlab源码
【数字信号调制】基于 AM+FM+DSB+SSB实现信号调制解调含Matlab源码
2022-06-29 10:00:00 【Matlab科研工作室】
1 简介
通信信号调制方式的识别是通信信号处理中的一个重要研究课题,是电子对抗的一个重要内容,也是信号分析的一个快速发展领域。其广泛用于信号确认、干扰识别、无线电侦听和信号监测以及软件无线电、卫星通信等领域。自动调制识别的目的就是在未知调制信息内容的前提下,判断出通信信号的调制方式,并估计出相应的调制参数。本文主要通过对通信信号AM,FM,DSB,SSB调制方式的仿真实验。
2 部分代码
function varargout = SSB(varargin)% AM MATLAB code for AM.fig% AM, by itself, creates a new AM or raises the existing% singleton*.%% H = AM returns the handle to a new AM or the handle to% the existing singleton*.%% AM('CALLBACK',hObject,eventData,handles,...) calls the local% function named CALLBACK in AM.M with the given input arguments.%% AM('Property','Value',...) creates a new AM or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before AM_OpeningFcn gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to AM_OpeningFcn via varargin.%% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one% instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help AM% Last Modified by GUIDE v2.5 12-Jul-2019 17:27:08% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @AM_OpeningFcn, ...'gui_OutputFcn', @AM_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});elsegui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before AM is made visible.function AM_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 AM (see VARARGIN)% Choose default command line output for AMhandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes AM wait for user response (see UIRESUME)% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line.function varargout = AM_OutputFcn(hObject, eventdata, handles)% varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout{1} = handles.output;% --- Executes during object creation, after setting all properties.function axes3_CreateFcn(hObject, eventdata, handles)% hObject handle to axes3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: place code in OpeningFcn to populate axes3% --- Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% --- Executes during object creation, after setting all properties.function frame1_CreateFcn(hObject, eventdata, handles)% hObject handle to frame1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% --- Executes during object creation, after setting all properties.function text2_CreateFcn(hObject, eventdata, handles)% hObject handle to text2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% --- Executes when entered data in editable cell(s) in uitable2.function uitable2_CellEditCallback(hObject, eventdata, handles)% hObject handle to uitable2 (see GCBO)% eventdata structure with the following fields (see MATLAB.UI.CONTROL.TABLE)% Indices: row and column indices of the cell(s) edited% PreviousData: previous data for the cell(s) edited% EditData: string(s) entered by the user% NewData: EditData or its converted form set on the Data property. Empty if Data was not changed% Error: error string when failed to convert EditData to appropriate value for Data% handles structure with handles and user data (see GUIDATA)% --- Executes on selection change in listbox3.function listbox3_Callback(hObject, eventdata, handles)% hObject handle to listbox3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: contents = cellstr(get(hObject,'String')) returns listbox3 contents as cell array% contents{get(hObject,'Value')} returns selected item from listbox3% --- Executes during object creation, after setting all properties.function listbox3_CreateFcn(hObject, eventdata, handles)% hObject handle to listbox3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: listbox controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction edit1_Callback(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit1 as text% str2double(get(hObject,'String')) returns contents of edit1 as a double% --- Executes during object creation, after setting all properties.function edit1_CreateFcn(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction edit2_Callback(hObject, eventdata, handles)% hObject handle to edit2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit2 as text% str2double(get(hObject,'String')) returns contents of edit2 as a double% --- Executes during object creation, after setting all properties.function edit2_CreateFcn(hObject, eventdata, handles)% hObject handle to edit2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunction edit3_Callback(hObject, eventdata, handles)% hObject handle to edit3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit3 as text% str2double(get(hObject,'String')) returns contents of edit3 as a double% --- Executes during object creation, after setting all properties.function edit3_CreateFcn(hObject, eventdata, handles)% hObject handle to edit3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end% --- Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles)% hObject handle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)A=str2num(get(handles.edit1,'String')); % A=2fm=str2num(get(handles.edit2,'String')); %f=1,1hz基带信号fc=str2num(get(handles.edit3,'String')); %fc=64 hz载波fs=str2num(get(handles.edit4,'String')); %fs=1024;dt=1/fs; %采样时间间隔T=5; %信号时长t=0:dt:T;mt=sqrt(A)*cos(2*pi*fm*t); %信源%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%s_ssb=real(hilbert(mt).*exp(j*2*pi*fc*t));B=fm/2;plot(handles.axes1,t,s_ssb,'b-'); %画出SSB信号波形hold(handles.axes1,'on')plot(handles.axes1,t,mt,'r--'); %表示mt的波形xlabel('t');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%[f,sf]=T2F(t,s_ssb); %单边带信号频谱psf=(abs(sf).^2)/T; %单边带信号功率谱plot(handles.axes3,f,psf);axis([-2*fc 2*fc 0 max(psf)]);xlabel('f');% --- Executes on button press in pushbutton3.function pushbutton3_Callback(hObject, eventdata, handles)% hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)close(handles.figure1);% --- Executes during object creation, after setting all properties.function text3_CreateFcn(hObject, eventdata, handles)% hObject handle to text3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns calledfunction edit4_Callback(hObject, eventdata, handles)% hObject handle to edit4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit4 as text% str2double(get(hObject,'String')) returns contents of edit4 as a double% --- Executes during object creation, after setting all properties.function edit4_CreateFcn(hObject, eventdata, handles)% hObject handle to edit4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end
3 仿真结果




4 参考文献
[1]李光辉. 信号调制方式自动识别的研究[D]. 西华大学.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
边栏推荐
- 学习通否认 QQ 号被盗与其有关:已报案;iPhone 14 量产工作就绪:四款齐发;简洁优雅的软件早已是明日黄花|极客头条...
- Atomic explanation of AQS
- SQL Server 数据库的统计查询
- Creating postgre enterprise database by ArcGIS
- 【NLP】文本生成专题1:基础知识
- UserWarning: Usage of dash-separated ‘script-dir‘ will not be supported in future versions. 笔记
- 共2600页!又一份神级的面试手册面世~
- 各位大佬 请教下mysqlcdc的数据不支持开窗函数吗 像row_number ,lead这种
- STM32F1與STM32CubeIDE編程實例-超聲波測距傳感器驅動
- Detailed explanation of handwritten numeral recognition based on support vector machine (Matlab GUI code, providing handwriting pad)
猜你喜欢

【FreeRTOS】08 互斥信号量、优先级反转问题

The encryption market has exploded one after another. Can Celsius avoid bankruptcy?

Given the values of two integer variables, the contents of the two values are exchanged (C language)

悬赏平台并没有WEB端开发,在原生开发和混合开发中哪种合适?

Agctfb partial solution

【C语言进阶】字符串和内存函数(一)

Dormitory maintenance management system based on stm32+rfid design

Qt编写物联网管理平台37-逻辑设计

Fully understand the volatile keyword

Free books! The best-selling book "Introduction and practice of OpenCV image processing" has been completed
随机推荐
【NLP】文本生成专题1:基础知识
Essential for efficient work: how can testers improve their communication skills?
《如何阅读一本书》读后总结
【C语言进阶】通讯录实现
(JS)isNaN()方法判断undefined为true的原因
Bug description, rating and life cycle
Comprehensive understanding of synchronized
Highly paid programmers & interview questions: how to ensure the data consistency between redis cache and database in series 117?
Summary after reading how to read a Book
免费送书啦!畅销书《 OpenCV图像处理入门与实践》一本全搞定
BUUCTF RE-easyre
当技术人成长为 CEO,应该修改哪些“Bug”?
Is it safe to open a securities account? Is it reliable?
Atomic explanation of AQS
Numeric Keypad
“AI x 科学计算”进行时,华为昇思 MindSpore 赛题火热开启,等你来!
[200 opencv routines] 214 Detailed explanation of drawing ellipse parameters
Offensive and defensive world re insfsay
np.astype()
任职 22 年,PowerShell 之父将从微软离职:曾因开发 PowerShell 被微软降级过