资源简介
基于MATLAB GUI通信系统仿真。本次电力系统通信技术的课程设计内容为基于MATLAB GUI的通信技术仿真平台的搭建,该仿真平台中可以根据不同的指令完成信源的产生、信道与噪声的仿真、信号的调制与解调仿真、信源的编码与解码仿真和数字基带传输系统眼图和误码率的仿真等。
仿真平台利用用MATLAB的GUI搭建:平台以菜单方式工作,且平台应包含上述内容中的所有模块,系统可以显示所有模块应有相应的仿真结果及结果分析。本次课设设计了两个平台来进行通信系统的仿真,分别是2ASF随机二进制信源调制解调误码率仿真系统以及PCM固定信源的编码解码。
代码片段和文件信息
function varargout =untitled1(varargin)
gui_Singleton = 1;
gui_State = struct(‘gui_Name‘ mfilename ...
‘gui_Singleton‘ gui_Singleton ...
‘gui_OpeningFcn‘ @untitled1_OpeningFcn ...
‘gui_OutputFcn‘ @untitled1_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
function untitled1_OpeningFcn(hobject eventdata handles varargin)
handles.output = hobject;
guidata(hobject handles);
function varargout = untitled1_OutputFcn(hobject eventdata handles)
varargout{1} = handles.output;
function pushbutton1_Callback(hobject eventdata handles)
global I
global fs
global fb
global fc
global signal_in_one_bit
global space_in_zero_bit
global space_in_one_bit
global y
global S
global signal
global st
global zs
global f
global df1
global tz
global nst
global t
global x
global gjxs
global d
x=round(rand(1I));% 产生信号比特
S=fs/fb;% 每比特采样数
t=(0:S*I-1)/fs;
signal_in_one_bit=cos(2*pi*fc*(0:S*I-1)/fs);%载波
space_in_zero_bit=zeros(1S); %为0时
space_in_one_bit=ones(1S) ;%为1时
y=zeros(1S*I) ;
for i=1:length(x)
if(x(i)==1)
y((i-1)*S+1:i*S)=space_in_one_bit;
else
y((i-1)*S+1:i*S)=space_in_zero_bit;
end
end
f=[0:df1:df1*(length(tz)-1)]-fs/2;%频谱矢量计算
signal=y;
axes(handles.axes2);
plot(signal);
grid on;
ylim([-2 2]);
st=y.*signal_in_one_bit;
disp(zs);
nst=awgn(stzs);
axes(handles.axes3);
grid on;
plot(nst);
nst=nst.*signal_in_one_bit;
wp=2*pi*2*fc*0.5;
ws=2*pi*2*fc*0.9;
R=2;
T=45;
[N1wc]=buttord(wpwsRT‘s‘);
[BA]=butter(N1wc‘s‘);
h=tf(BA);
t=(0:S*I-1)/fs;
d=lsim(hnstt);
axes(handles.axes10);
grid on;
plot(d);%滤波后的噪声
%眼图函数
Ts=1;
eyenum=10;
codenum=2000;
tsample=4;
dt=0.2;
t=-eyenum/2:dt:eyenum/2;
if isempty(gjxs)
gjxs=1;
end
pp=cos(gjxs*pi*t/Ts);
pp1=1./(1-4*t.*t*gjxs*gjxs/Ts/Ts);
ht=1/Ts*sinc(t/Ts).*pp.*pp1;
code=sign(randn(1codenum))+0.05*randn(1codenum);%画眼图
for n=1:codenum/eyenum
ss=zeros(1length(ht)+Ts/dt);
for m=1:eyenum
tmp=code((n-1)*eyenum+m)*ht;
tmp1=ss((m*Ts/dt+1):length(ss))+tmp;
ss =[ss(1:(m*Ts/dt)) tmp1 zeros(1Ts/dt)];
end
drawnow
kk=1:length(ss);
axes(handles.axes7);
plot(kk*dt-dtss);hold on
clear ss;
axis([5 15 -3 3]);
end
function edit1_Callback(hobject eventdata handles)
global fs
fs=str2double(get(findobj(‘Tag‘‘edit1‘)‘String‘ )); %采样频率
function edit1_CreateFcn(hobject eventdata handles)
if ispc && isequal(get(hobject‘BackgroundColor‘) get(0‘defaultUicontrolBackgroundColor‘))
set(hobject‘BackgroundColor‘‘white‘);
end
function edit2_Callback(hobject eventdata handles)
global I
I=str2double(get(findobj(‘Tag‘‘edit2‘)‘String‘)); %周期点数
function edit2_CreateFcn(hobject eventdata handles)
if ispc && is
- 上一篇:数字图像处理DSP_IIR带通滤波器的设计
- 下一篇:高分辨率数字图像加密算法
相关资源
- 高分辨率数字图像加密算法
- matlab的lomb函数
- 基于Matlab的ARMA模型时间序列分析法仿
- PCA的MATLAB实现
- matlab gui 图像灰度级更改和轮廓提取
- 全面详解LTE:MATLAB建模、仿真与实现
-
薛定宇 陈阳泉基于 MATLAB+Simuli
nk 的 - [数字滤波器的MATLAB与FPGA实现——Al
- 先进PID控制MATLAB仿真 PDF 高清文字版
- 电力电子技术课程设计 48W BUCK/BOOST电
- 滑模变结构控制MATLAB仿真 第3版 基本
- Matlab+cpp三维矩量法MoM通用计算程序
- 《MATLAB图像与视频处理实用案例详解
- 智能预测控制及其matlab实现207273
- FIR滤波器的MATLAB及FPGA实现代码
- insar图像配准及滤波
- 数字滤波器的MATLAB与FPGA实现:ALTERA
- MATLAB数字信号处理85个实用案例精讲入
- BLS宽度学习matlab代码.zip
- 放大转发AF模式的matlab仿真
- 单通道盲源分离SSA-ICA算法Matlab代码
- MIMO OFDM matlab仿真程序还有论文-MIMO
- 数字通信同步技术的MATLAB与FPGA实现完
- 数字信号处理MATLAB版高清版.pdf
- MATLAB R2016a完全自学一本通
- MATLAB在数学建模中的应用上下_源程序
- 先进PID控制MATLAB仿真.pdf
- MATLAB在数学建模中的应用卓金武
- 滑模变结构控制MATLAB仿真第3版+基本理
- MATLAB神经网络43个案例分析.pdf+源代码
评论
共有 条评论