当前位置:网站首页>【数字信号调制】基于 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代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
边栏推荐
- By asp Net core downloading files according to the path
- 【C语言进阶】自定义类型
- (JS)迭代器模式
- 最后的 48 小时!云 XR 专题赛邀你一起绽放精彩,我们赛场见!
- 【C语言进阶】文件操作(二)
- 世界上第一个“半机械人”去世,改造自己只为“逆天改命”
- Report card of regional industrial Internet market, the second place of Baidu intelligent yunkaiwu
- ssh密钥泄露(B模块赛题)——应用服务漏洞扫描与利用
- 当技术人成长为 CEO,应该修改哪些“Bug”?
- 悬赏平台并没有WEB端开发,在原生开发和混合开发中哪种合适?
猜你喜欢

Automatic 3D Detection and Segmentation of Head and Neck Cancer from MRI Data.

(JS)筛选出对象中value大于2的key

“AI x 科学计算”进行时,华为昇思 MindSpore 赛题火热开启,等你来!

Design of intelligent test paper generation system

Reprint: five methods to determine whether an object has attributes

Here comes the tutorial of datawhale recommendation system!

Analysis of reentrantlock source code of AQS

Redis installation and cluster setup under Linux

【评论送书】适合初学者的 6 个有趣的 R 语言项目

Does your project need automated testing?
随机推荐
Detailed explanation of handwritten numeral recognition based on support vector machine (Matlab GUI code, providing handwriting pad)
Design of intelligent test paper generation system
嵌入式驱动开发之uboot---uboot 中的常见命令参数参数
PyTorch学习笔记(6)——DataLoader源代码剖析
VI退出 退出VIM 适用新手
Cs231n-2022 module1: overview of key points of neural network (2)
每日刷题记录 (七)
np.astype()
Essential for efficient work: how can testers improve their communication skills?
【C语言进阶】文件操作(二)
Creating postgre enterprise database by ArcGIS
IO流总结
C language printf family
Fully understand the MESI cache consistency protocol
活动邀请 | Apache Doris 社区征文&演讲征集活动开始了!
Analysis of BlockingQueue source code of AQS
Numeric Keypad
(JS)职责链模式
工具箱之 IKVM.NET 项目新进展
(JS)数组的 pop、push、unshift、shift分别是什么?