WAVE

QQ截图20111031103318

一.简介

波,在空间以特定形式传播的物理量或物理量的扰动。由于是以特定的形式传播,这个物理量(或其扰动,下同)成为空间位置和时间的函数,而且是这样的函数,即在时间t出现在空间r处周围的分布,会在时间(t+t┡)出现在空间(r+vt┡)的周围。 v一般说是个常矢量,就是有关物理量(或其扰动)的传播速度。物理量函数称为波函数,数学上它是一个叫波动方程的在特定边界条件下的解。

物理定义:某一物理量的扰动或振动在空间逐点传递时形成的运动。不同形式的波虽然在产生机制、传播方式和与物质的相互作用等方面存在很大差别,但在传播时却表现出多方面的共性,可用相同的数学方法描述和处理。

 

 

二.实现

波是由无数的点组成,每个点有着自己的运动方向和速度大小。为了实现波的效果,我们首先模拟波上的点:

       var c = document.getElementById("myCanvas");
       var cxt = c.getContext("2d");  
       var angel = 2 * Math.PI;
       var step = Math.PI / 10;
       function draw() {
           cxt.clearRect(0, 0, 1000, 1000);
           for (var i = 0; i < 600; i += 10) {
               cxt.fillStyle = randomColor();
               cxt.beginPath();
               angel -= step;
               cxt.arc(i, 100, 7, 0, Math.PI * 2, true);
               cxt.closePath();
               cxt.fill();
           }
       }
       draw();
       function randomColor() {
           var arrHex = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"]; var strHex = "#";
           var index;
           for (var i = 0; i < 6; i++) {
               index = Math.round(Math.random() * 15);
               strHex += arrHex[index];
           }
           return strHex;
       } 

 

效果如下:

image 

然后我们让波上的每个点回到某一时刻它该回到的位置:

       var c = document.getElementById("myCanvas");
       var cxt = c.getContext("2d");  
       var angel = 2 * Math.PI;
       var step = Math.PI / 10;
       function draw() {
           cxt.clearRect(0, 0, 1000, 1000);
           for (var i = 0; i < 600; i += 10) {
               cxt.fillStyle = randomColor();
               cxt.beginPath();
               angel -= step;
               cxt.arc(i, 150 + 100 * Math.cos(angel), 7, 0, Math.PI * 2, true);
               cxt.closePath();
               cxt.fill();
           }
       }
       draw();

 

效果如下:

image

 

然后我们利用Jscex实现动画效果:

       var c = document.getElementById("myCanvas");
       var cxt = c.getContext("2d");     
       var angel = 2 * Math.PI;
       var step = Math.PI / 10;
       function draw() {
           cxt.clearRect(0, 0, 1000, 1000);
           for (var i = 0; i < 600; i += 10) {
               cxt.fillStyle = randomColor();
               cxt.beginPath();
               angel -= step;
               cxt.arc(i, 150 + 100 * Math.cos(angel), 7, 0, Math.PI * 2, true);
               cxt.closePath();
               cxt.fill();
           }
       }
       var step2 = 0.2;
       var waveAsync = eval(Jscex.compile("async", function () {
           while (true) {
               angel = 2 * Math.PI;
               angel -= step2;
               step2 += 0.1;
               $await(Jscex.Async.sleep(100))
               draw();
           }
       }))
       waveAsync().start();

 

三.在线演示

 

 

下篇预告:《3DWave》

您可能还喜欢:http://www.cnblogs.com/iamzhanglei/archive/2011/09/30/2196793.html

您可能还喜欢:http://www.cnblogs.com/iamzhanglei/archive/2011/09/20/2182038.html

转载于:https://www.cnblogs.com/iamzhanglei/archive/2011/10/31/2229900.html

内容概要:本文详细探讨了基于MATLAB/SIMULINK的多载波无线通信系统仿真及性能分析,重点研究了以OFDM为代表的多载波技术。文章首先介绍了OFDM的基本原理和系统组成,随后通过仿真平台分析了不同调制方式的抗干扰性能、信道估计算法对系统性能的影响以及同步技术的实现与分析。文中提供了详细的MATLAB代码实现,涵盖OFDM系统的基本仿真、信道估计算法比较、同步算法实现和不同调制方式的性能比较。此外,还讨论了信道特征、OFDM关键技术、信道估计、同步技术和系统级仿真架构,并提出了未来的改进方向,如深度学习增强、混合波形设计和硬件加速方案。; 适合人群:具备无线通信基础知识,尤其是对OFDM技术有一定了解的研究人员和技术人员;从事无线通信系统设计与开发的工程师;高校通信工程专业的高年级本科生和研究生。; 使用场景及目标:①理解OFDM系统的工作原理及其在多径信道环境下的性能表现;②掌握MATLAB/SIMULINK在无线通信系统仿真中的应用;③评估不同调制方式、信道估计算法和同步算法的优劣;④为实际OFDM系统的设计和优化提供理论依据和技术支持。; 其他说明:本文不仅提供了详细的理论分析,还附带了大量的MATLAB代码示例,便于读者动手实践。建议读者在学习过程中结合代码进行调试和实验,以加深对OFDM技术的理解。此外,文中还涉及了一些最新的研究方向和技术趋势,如AI增强和毫米波通信,为读者提供了更广阔的视野。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值