ppm调制matlab程序,求助:谁能帮我编写一个4ppm的解调程序 谢谢了
www.cn-17.net 发表于 2012-5-28 13:59
要什么样的?
我这里有一个调制部分的 输出了调制信号波形和其频谱 你看能在此基础上加上解调信号的程序吗 还要求输出误码率 (4ppm就是单脉冲位置的调制与解调 及一帧有四个时隙调制出的波形是一帧李只有一个时隙有脉冲(显示为1)) 真的非常感谢
%######################################%
% 无线光通信系统中光调制编码
% --------*********-------*********-----
% Function:
% Programme name:
% Programmer:
% The guidance of teacher: JiaKejun
% Date: 04/05/2012
%**************************************%
% Define variables:
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%*******************************%
%--清理内存--%
clc;
clear all;
close all;
%*************** 编码程序 ***************%
%------------输入维数与编码序列-----------%
L=input('请输入编码维数L的值:'); % 例如: 3
% P=input('请以行矩阵形式输入OOK序列码:'); % 例如:[1 0 0 0 1 1 1 0 1]
clc;
disp('编码维数L的值为:');
disp(L);
P=randn(1,8)>0;
%-----------输出OOK序列------------%
c=1;
% u=numel(P); %求输入元素的个数
M=floor(8/L); %求编码的组数
n=M*2^L; %求OOK转换为PPM方式时的位码数
A(L,M)=zeros; %A设初值
for i=1:M %循环求OOK转换为PPM方式的编码
for j=1:L
if c<=M*L
A(j,i)=P(1,c);
c=c+1;
end
end
end
disp('传输的OOK序列为:A=');
disp(A);
t1=0:0.01:M*L; %设置抽样频率
%----------输出OOK编码图像------------%
figure(1)
for i=1:M
for j=1:L
if A(j,i)==1
date_modulated1=rectpuls(t1-((i-1)*L+j-0.5));
subplot(2,1,1),title('OOK序列'),xlabel('TIME'),v=line(t1,date_modulated1);
grid on,set(gca,'xtick',(1:M*L),'ytick',[0.5,1]),hold on;
set(v,'Color',[0 0 1],'LineWidth',2),axis([0,M*L,0,1.1]);
end
end
end
%----------输出OOK编码图像中的分组分隔线------------%
for i=1:M
t1=L*i;
y1=0:0.2:1;
v1=plot(t1,y1,'r*');
end
for i=1:M
for j=1:L
if A(j,i)==1
y=fft(date_modulated1);
plot(abs(y)),grid on;
subplot(2,1,2),title('OOK频谱');
axis([0,200,0,60]);
end
end
end
figure(2)
signal_length1=length(date_modulated1);
noise1=1*randn(1,signal_length1);
signal_addnoise1=date_modulated1+noise1;
subplot(3,1,1);
plot(signal_addnoise1),grid;
title('加噪后的OOK序列');
axis([0,800,-5,5]);
subplot(3,1,2);
y9= xcorr(signal_addnoise1);
plot(abs(y9)),grid;
title('加噪后的OOK序列的自相关函数');
axis([0,1600,0,1000]);
subplot(3,1,3);
y7=fft(y9);
plot(abs(y7)),grid;
title('加噪后的OOK调制信号频谱');
%---------输出PPM调制序列---------------%
C(1,L)=zeros; %对C矩阵赋初值
B(2^L,M)=zeros; %对B矩阵赋初值
b(1,M)=zeros;
for i=1:M
for j=1:L
C(1,j)=A(j,i)*2^(L-j);
b(1,i)=sum(C);
end
end
for i=1:M
for j=1:2^L
if j==b(1,i)+1
B(j,i)=1;
end
end
end
disp('传输的PPM序列为:B=');
disp(B);
t2=0:0.01:n; %设置抽样频率
%------------输出PPM调制图像-------------%
figure(3)
for i=1:M
for j=1:2^L
if B(j,i)==1
date_modulated=rectpuls(t2-((i-1)*2^L+b(1,i)+0.5));
subplot(2,1,1),title('PPM调制序列'),xlabel('TIME'),v=line(t2,date_modulated);
grid on,set(gca,'xtick',(1:n),'ytick',[0.5,1]),hold on;
set(v,'Color',[0 1 1],'LineWidth',2),axis([0,n,0,1.1]);
end
end
end
%------------输出PPM调制图中的分组分隔线-------------%
for i=1:M
t1=2^L*i;
y1=0:0.2:1;
v1=plot(t1,y1,'r*');
end
for i=1:M
for j=1:2^L
if B(j,i)==1
y1=fft(date_modulated);
plot(abs(y1)),grid on;
subplot(2,1,2),title('PPM频谱');
axis([0,200,0,80]);
end
end
end
figure(4)
signal_length=length(date_modulated);
noise=1*randn(1,signal_length);
signal_addnoise=date_modulated+noise;
subplot(3,1,1);
plot(signal_addnoise),grid;
title('加噪后的PPM调制信号');
axis([0,1000,-4,4]);
subplot(3,1,2);
y5= xcorr(signal_addnoise);
plot(abs(y5)),grid;
title('加噪后的PPM调制信号的自相关函数');
subplot(3,1,3);
y8=fft(y5);
plot(abs(y8)),grid;
title('加噪后的PPM调制信号频谱');
ppm调制matlab程序,求助:谁能帮我编写一个4ppm的解调程序 谢谢了相关推荐
- c语言程序 强制关机程序,怎么用C或者C++编写一个电脑强制关机程序
源代码: #include #include #include using namespace std; int main(int argc, char *argv[]) { system(" ...
- c语言计算器系统流程图,这是一个计算器程序 请各位高手帮我画一个流程图
这是一个计算器程序 请各位高手帮我画一个流程图 #include #include #include char token; void error(void) { printf("stder ...
- 编写一个基本的Android程序
程序员有个惯例,在任何一个新平台上学习一门新语言的时候,首先做的第一件事情就是编写一个Hello,World程序,在Android上也不例外,<Hello,World>的第一个程序也是He ...
- 如何编写一个简单的 Python 程序
本教程将教你如何编写一个简单的 Python 程序.我们将从解释 Python 程序是什么开始,然后继续讨论语法的各个方面,即语言的结构. 什么是 Python? Python是一种越来越受欢迎的编程 ...
- C语言输出长方柱的体积,需要求3个长方柱的体积,请编写一个基于对象的程序。数据成员包括length(长)、width(宽)、 height(高)。要求用成员函数实现以下功能...
需要求3个长方柱的体积,请编写一个基于对象的程序.数据成员包括length(长).width(宽). height(高).要求用成员函数实现以下功能: (1) 由键盘分别输入3个长方柱的长.宽.高: ...
- Java黑皮书课后题第10章:***10.8(金融:Tax类)编程练习题8.12使用数组编写一个计算税款的程序。设计一个名为Tax类,该类包含下面的实例数据域
***10.8(金融:Tax类)编程练习题8.12使用数组编写一个计算税款的程序.设计一个名为Tax类,该类包含下面的实例数据域 题目 程序解释 代码 Test8.java Test8_Tax.jav ...
- 编写一个C程序,实现以下功能:编写一个函数decTobin(int n),该函数能将一个十进制数n转换成二进制数,输入13 输出 1101。在main函数中输入整数n,调用函数,输出它的二进制
题目要求: 编写一个C程序,实现以下功能: //编写一个函数decTobin(int n),该函数能将一个十进制数n转换成二进制数,输入13 输出 1101. //在main函数中输入整数n,调用函数 ...
- 编写一个C程序,实现以下功能:编写一个常规的函数和一个递归函数,两个函数均能将输入的一个字符串以按反序形式的字符串作为返回值。在main函数中输入一行字符串,分别调用两个函数,输出反序后的字符串。
题目要求: 编写一个C程序,实现以下功能:编写一个常规的函数和一个递归函数,两个函数均能将输入的一个字符串以按反序形式的字符串作为返回值.在main函数中输入一行字符串,分别调用两个函数,输出反序后的 ...
- Java制作一个盒子程序_编写一个简单的Java程序,模拟计算器的功能。
提问:编写一个简单的Java程序,模拟计算器的功能. 网友回答: 程序参考: import java.awt.*; import java.awt.event.ActionEvent; import ...
最新文章
- kvo实现原理_KVC、KVO实现原理
- perl 命令行备注
- android调用文件管理打开某个路径,安卓 通过intent调用系统文件管理器打开指定路径目录...
- 从源码中编译安装gmt官方开发版(优先体验最新功能)
- mac 安装使用 webp 来压缩图片
- media player 控件播放音乐与视频 0130 winform
- 压测学习总结(6)——Jmeter同步定时器的使用
- 进程线程(java.lang.Thread)详解
- 2021-09-13强化学 习 原理及技术介绍
- 数据智能、孪生城市——展望未来智慧城市产业发展
- 爬取贝壳租房信息存储到mongoDB
- 创建型——单例模式(Singleton)总结
- 生成13位条形码Ean-13码规则:第十三位数字是前十二位数字经过计算得到的校验码。
- 毕业后,他年薪百万,我年薪刚破十万,人和人之间的差距怎么这么大?
- 泰坦尼克号 第三章 模型搭建和评估
- qq批量登录软件_QQ群控高效管理,引流过万不是问题!
- Android P OTA增量升级
- 凡客诚品为什么要收购初刻? - 知乎
- unity在android8.0黑屏,解决unity打包在安卓8.0因为权限问题黑屏
- c语言如何求前n项和
热门文章
- pandas DataFrame 直接生成plot图片 pandas.DataFrame.plot()
- 腾讯云主机配置tomcat服务器
- PS教程:紫色光晕效果实现
- 测试自己移动速度的软件,Superspeed一键测速脚本 测试服务器到国内电信/联通/移动速度...
- 领英改版后无法搜索开发客户?解决方法来了,恢复后可以继续在领英搜索开发客户。
- 计算机视觉 — Harris角点检测
- Docker配置consol
- 硬件设计--DC/DC电源芯片详解
- 进程的同步和互斥反映了_用信号量解决进程的同步与互斥探讨【持续更新】
- 他在北京反诈骗15年,守住2亿人密码安全