精华内容
下载资源
问答
  • 发生于MIMO发射端天线间的串扰与PA非线性的结合,使得MIMO发射端的非线性校正比SISO系统更为复杂。传统适用于SISO发射端的数字预失真方法并不适用于MIMO发射端。本篇文章提出了一种多输入记忆多项式模型对MIMO发射端...
  • mirrorop sender PC发射端

    热门讨论 2013-12-08 14:57:28
    mirrorop sender PC发射端
  • 该代码用于无线充电系统,当无线接收端的红外检测模块在10s之内未检测到充电负载放置在其所监测范围内时,无线接收端则发送断电信号,并由无线发射端执行断电操作;否则系统连续执行无线充电操作。
  • 这是直扩系统的发射端部分,我用的是Matlab2016a,版本过新的话,就会找不到其中的Bipolar to Unipolar Converter 模块,是.slx文件,用matlab 直接打开
  • 本文给出一种两次变频法的毫米波发射端上变频方案,并利用Altera公司的Cyclone系列EP1Cl2F324完成基带数字信号处理,实现对AD9-857的控制,在数字域完成基带数字信号的内插滤波、正交调制、D/A变换等功能,实现70 ...
  • 绍了一种小功率(1W)、2.45GHz微波无线输电系统的发射端设计。直流电平经过锁相频率合成芯片ADF4360-0转换为S波段的2.45GHz微波信号,ADF4360-0的寄存器配置由MSP430控制;2.45GHz微波信号经过由功放芯片ERA-5SM及ADL...
  • idt 公司生产的p9242无线充电发射端芯片 具有输入电压值在4.5-21v之间,15w的功率,可实现快充,同时还有异物检测,快充等功能
  • 无线发射端线圈信号强、速度快。 无线充电器线圈定义:无线充电系统主要采用电磁感应原理,通过线圈进行能量耦合实现能量的传递。系统将输入的交流电转化成直流电,或用直流电端直接为系统供电。通过2个电感线圈...

    无线充发射线圈定义:无线充电主要采用电磁感应原理,通过线圈产生的磁场,磁场再产生电流。系统工作时只能发射,通俗一点来说就是无线发射线圈只能把能量传递出去而不能接收能量,无线充接收端才能接收能量。无线发射端线圈信号强、速度快。

    无线充电器线圈定义:无线充电系统主要采用电磁感应原理,通过线圈进行能量耦合实现能量的传递。系统将输入的交流电转化成直流电,或用直流电端直接为系统供电。通过2个电感线圈耦合能量,接收端线圈产生感应电流为电池充电。因此无线充电线圈是无线充电中最重要的部分,可直接决定无线充电的性能。无线充电器线圈的好处就是低成本,高谐振。

    无线充电接收端与发射端的区别是:无线充电器线圈可以发射能量进行能量传递,也可以接收能量进行能量传递,而无线充发射线圈只能发射能量进行能量传递而不能接收能量进行能量传递。

    发射端常为多股丝包线,多股更细的漆包线或者纱包线绕制的电感线圈多用在频率比较高的电路中,像收音机的磁性天线棒线圈、短波收音机中周线圈、液晶显示器点灯电路的高频变压器线圈等,往往使用多股线并绕。您可能知道,高频电流在导体中通过,随着与导体表面的距离逐渐增加,导体内的电流密度呈指数递减,即导体内的电流会集中在导体的表面。从与电流方向垂直的横切面来看,导体的中心部分电流强度基本为零,即几乎没有电流流过,只在导体边缘的部分会有电流。简单而言就是电流集中在导体的皮肤部分,所以称为集肤效应。产生这种效应的原因主要是变化的电磁场在导体内部产生了涡旋电场,与原来的电流相抵消。显然在高频应用中如果只用一根导线因其表面积相对较小,那么电流利用率就会大大降低,使导线发热严重或者信号衰减量增大,这显然是我们所不希望的。减轻集肤效应最简单的方法之一就是采用多股导线并联应用,使电流产生的磁场比较均匀,通俗地说就是给电流提供更大面积的“皮肤”通路。通过对比也看得出,同样功率体积差不多的高频变压器,采用单股漆包绂绕制的要比采用多股线并绕的发热量大很多。无线充电工作频率100KHZ-200KHZ

    接收端常有单股,2股,4股,也有8股、13股的热风线,考虑厚度,接收端都是并排绕,不像发射端拧巴在一起,13股并排绕难度很大。

    展开全文
  • OFDM发射端MATLAB模型

    2010-12-30 15:23:26
    CMMB标准的OFDM发射端MATlAB实现
  • 手摇轮无线脉冲发射器,发射端C程序代码
  • CS4968 是一种无线充电发送端控制器, 兼容Qi 标准。CS4968 集成了控制功能, 以最小成本实现的无线功率发射系统,减 ...指定的A 型功率发射端设计,包括A6 和 A11。集成通讯解调及解码功能,兼容 WPC1.1.2 标准。
  • LED室内定位发射端研究与设计,王瑾,未建红,设计了LED室内定位发射端驱动电路,测试表明通信速率可达1Mbps。搭建了LED室内定位系统,通过采用网格划分法使用照度计测试接收平面�
  • 发射端上按下按键发送一次数据,接收端接收到数据后会将数据显示在LCD液晶屏并通过串口发出,接收端可支持接收两个通道的数据即来自两个发射端发来的数据(配置后可支持更多)
  • 1 红外信号发射端原理 2 红外信号发射端与接收端的对应关系 3 红外发射端功能实现实例 1红外信号发射端原理 首先是红外信号发射的器件本身,它一般长下面这样: 图片中的这个红外二极管直径是3mm的,另外...

    背景介绍:

    上一篇文章我们详细介绍了红外解码的原理与实现,这里我们来介绍下红外编码的原理以及实现。

     

    内容概述:

    1 红外信号发射端原理

    2 红外信号发射端与接收端的对应关系

    3 红外发射端功能实现实例

     

    1 红外信号发射端原理

    首先是红外信号发射的器件本身,它一般长下面这样:

    图片中的这个红外二极管直径是3mm的,另外还有一种是5mm的。

    它们和发光led长得几乎一模一样,所以也是长些的引脚时接正极,另外一个接负极。

    最简单的驱动电路就是将正极街道3.3v上,中间加个1k的限流电阻,然后将负极接到单片机的IO上。如下图:

     

    2 红外信号发射端与接收端的对应关系

    说到这里,需要跟大家更正下上一篇文章中的一个错误。

    上文中这张图片中提到发射端与接收端信号电平是相反的。也就是如上图中红色和蓝色方框中圈出的内容一样。

    其实实际波形中,发射端的蓝色部分不是一个简单的0.56ms的高电平。而是0.56ms的38kHz的pwm波。

    实际测量的波形如下图:

     

    图中发射端的波色部分波形详情如下图:

    可以看出,这个密集方波的频率是38kHz。

    这里总结下:红外遥控器发射端与接收端的对应关系:

    发射端输出38kHz的方波时,接收端为低,否则接收端为高

     

    3 红外发射端功能实现实例

    下面进入到编程实践环节了。

    根据前面的介绍我们得知,要实现一个红外遥控器的功能,我们首先要实现两个基本功能:

    1 38kHz的方波输出

    2 控制38kHz的方波在需要的时间打开和关闭

    首先是38kHz方波输出,我们就用pwm波来生成就行,这里具体需要使用到定时器的pwm功能。我这里使用的是STM32L011F4P6低功耗芯片。

    先用代码生成工具神器cube生成代码:

    初始化代码:

    static void MX_TIM21_Init(void)
    {
    
      /* USER CODE BEGIN TIM21_Init 0 */
    
      /* USER CODE END TIM21_Init 0 */
    
      TIM_ClockConfigTypeDef sClockSourceConfig = {0};
      TIM_MasterConfigTypeDef sMasterConfig = {0};
      TIM_OC_InitTypeDef sConfigOC = {0};
    
      /* USER CODE BEGIN TIM21_Init 1 */
    
      /* USER CODE END TIM21_Init 1 */
      htim21.Instance = TIM21;
      htim21.Init.Prescaler = 15;
      htim21.Init.CounterMode = TIM_COUNTERMODE_UP;
      htim21.Init.Period = 25;
      htim21.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
      htim21.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
      if (HAL_TIM_Base_Init(&htim21) != HAL_OK)
      {
        Error_Handler();
      }
      sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
      if (HAL_TIM_ConfigClockSource(&htim21, &sClockSourceConfig) != HAL_OK)
      {
        Error_Handler();
      }
      if (HAL_TIM_PWM_Init(&htim21) != HAL_OK)
      {
        Error_Handler();
      }
      sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
      sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
      if (HAL_TIMEx_MasterConfigSynchronization(&htim21, &sMasterConfig) != HAL_OK)
      {
        Error_Handler();
      }
      sConfigOC.OCMode = TIM_OCMODE_PWM1;
      sConfigOC.Pulse = 11;
      sConfigOC.OCPolarity = TIM_OCPOLARITY_LOW;
      sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
      if (HAL_TIM_PWM_ConfigChannel(&htim21, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
      {
        Error_Handler();
      }
      /* USER CODE BEGIN TIM21_Init 2 */
    
      /* USER CODE END TIM21_Init 2 */
      HAL_TIM_MspPostInit(&htim21);
    
    }

    启动关闭pwm代码:

    //start the pwm
    HAL_TIM_PWM_Start(&htim21,TIM_CHANNEL_1);
    
    //stop the pwm
    HAL_TIM_PWM_Stop(&htim21,TIM_CHANNEL_1);

     

    然后是根据编码规则打开或者关闭pwm波的功能,这个使用定时器中断实现,然后通过修改下次中断到来的时间来修改pwm波打开或者关闭的时间长度:

    初始化:

    static void MX_TIM2_Init(void)
    {
    
      /* USER CODE BEGIN TIM2_Init 0 */
    
      /* USER CODE END TIM2_Init 0 */
    
      TIM_ClockConfigTypeDef sClockSourceConfig = {0};
      TIM_MasterConfigTypeDef sMasterConfig = {0};
    
      /* USER CODE BEGIN TIM2_Init 1 */
    
      /* USER CODE END TIM2_Init 1 */
      htim2.Instance = TIM2;
      htim2.Init.Prescaler = 159;
      htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
      htim2.Init.Period = 999;
      htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
      htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
      if (HAL_TIM_Base_Init(&htim2) != HAL_OK)
      {
        Error_Handler();
      }
      sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
      if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK)
      {
        Error_Handler();
      }
      sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
      sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
      if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK)
      {
        Error_Handler();
      }
      /* USER CODE BEGIN TIM2_Init 2 */
    
      /* USER CODE END TIM2_Init 2 */
    
    }

    中断处理代码:

    void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
    {
    	//fans remote control
        if (htim == (&htim2)){
    
        	switch(remote_ctl.state){
        	case PRECODE_H:
        		HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_SET);
        		HAL_TIM_PWM_Stop(&htim21,TIM_CHANNEL_1);
        		TIM2->ARR = 900 - 1;//9ms
        		remote_ctl.state = PRECODE_L;
        		break;
        	case PRECODE_L:
        		HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_RESET);
        		HAL_TIM_PWM_Start(&htim21,TIM_CHANNEL_1);
        		TIM2->ARR = 450 - 1;//4.5ms
        		remote_ctl.state = USERCODE_H;
        		break;
        	case USERCODE_H:
        		HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_SET);
        		HAL_TIM_PWM_Stop(&htim21,TIM_CHANNEL_1);
        		TIM2->ARR = 56 - 1;//0.56ms
        		remote_ctl.state = USERCODE_L;
        		break;
        	case USERCODE_L:
        		HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_RESET);
        		HAL_TIM_PWM_Start(&htim21,TIM_CHANNEL_1);
        		if(remote_ctl.usercode >> remote_ctl.usercnt & 0x01)
        			TIM2->ARR = 169 - 1;//1.69ms
        		else
        			TIM2->ARR = 56 - 1;//0.565ms
        		remote_ctl.usercnt++;
        		if(remote_ctl.usercnt >= 16){
        			remote_ctl.usercnt = 0;
        			remote_ctl.state = CTLCODE_H;
        		} else {
        			remote_ctl.state = USERCODE_H;
        		}
        		break;
        	case CTLCODE_H:
        		HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_SET);
        		HAL_TIM_PWM_Stop(&htim21,TIM_CHANNEL_1);
        		TIM2->ARR = 56 - 1;//0.56ms
        		remote_ctl.state = CTLCODE_L;
        		break;
        	case CTLCODE_L:
        		HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_RESET);
        		HAL_TIM_PWM_Start(&htim21,TIM_CHANNEL_1);
        		if(remote_ctl.ctlcode >> remote_ctl.ctlcodecnt & 0x01)
        			TIM2->ARR = 169 - 1;//1.69ms
        		else
        			TIM2->ARR = 56 - 1;//0.565ms
        		remote_ctl.ctlcodecnt++;
        		if(remote_ctl.ctlcodecnt >= 17){
        			remote_ctl.ctlcodecnt = 0;
        			remote_ctl.state = CTLSTOP;
        		} else {
        			remote_ctl.state = CTLCODE_H;
        		}
        		break;
        	case CTLSTOP:
        		HAL_TIM_PWM_Stop(&htim21,TIM_CHANNEL_1);
        		HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_SET);
        		remote_ctl.state = PRECODE_H;
        		HAL_TIM_Base_Stop_IT(&htim2);
        		break;
        	default:
        		break;
        	}
    
        }
    }

    这里还有一些编码数据的细节就不贴出来了,如果需要更多源代码的话欢迎各位留言,我会尽快为你们提供详细代码。

     

    最后为大家贴上一个我调试的风扇遥控器的实例效果:

     

    如果各位喜欢的话,欢迎各位给我点赞

     

    最后,在这里向大家推荐我自己的个人公众号 “四点能

    公众号里我会根据前面的技术制作出有趣的东西,我们一起体会技术的乐趣

    展开全文
  • XTK-412无线供电发射端 PDF格式 参考资料 T3168无线供电接收芯片规格书:http://www.docin.com/touch_new/preview_new.do?id=2247179978 XKT-412规格书:...
  • 基于Arduino的红外无线抢答器 (发射端
  • 无线温湿度采集(发射端)程序,24L01无线发射模块 ,DHT11温湿度传感器
  • 在vs环境下,基于北斗通信上位机发射端程序,有工程文件,运行直接可用
  • 针对矿井下噪声带来的...由于系统要兼具照明和通信,在发射端设计了具有切换功能的照明调制驱动电路。通过对系统照明和通信性能的仿真分析,在满足标准照度和保证通信误码率10-6条件下,可实现井下照明和通信双重功能。
  • mirrorop sender PC发射端软件已下载,但是打不开,不知该软件是否有效?
  • Arduino+nRF24L01发射端

    2020-10-24 23:07:16
    发射端: #include <nRF24L01.h> #include <SPI.h> #include <RF24.h> /********************************************* Arduino nano--- nRF24L01 3.3V --- VCC:模块供电引脚 GND --- GND...

    Arduino+nRF24L01接收

    Arduino nano +nRF24L01
    在这里插入图片描述
    在这里插入图片描述
    发射端:

    #include <nRF24L01.h>
    #include  <SPI.h>
    #include <RF24.h>
    /*********************************************
      Arduino nano--- nRF24L01
    
      3.3V --- VCC:模块供电引脚
    
      GND --- GND:模块接地引脚
    
      10 号引脚 --- CSN:接收端选择引脚
    
      9 号引脚 --- CE:发射/接受状态选择引脚
    
      11号引脚 --- MOSI :控制端输出,接收端输入引脚
    
      13号引脚 --- SCK:时钟信号
    
      12号引脚 --- MISO:控制端输入,接收端输出引脚
    
      IRQ引脚在本例中不需要接
    *******************************************/
    
    #define buttonPin 7 //发射器引脚-按钮
    RF24 radio(9, 10); //ce,csn
    int buttonState = 222; //定义一个整型变量,用来存放按键的数值
    const byte address[6] = "00001"; //设置通讯地址
    const char text = "Hello World";
    
    
    void setup(void) {
      Serial.begin(9600);
      pinMode(buttonPin, INPUT);//设置7号引脚为输入引脚
      pinMode(buttonPin, LOW);
      radio.begin();//启动nrf24模组
      radio.openWritingPipe(address); //设定通道地址
      radio.setPALevel(RF24_PA_MIN); //设定广播功率
      radio.stopListening(); //停止监听,设定成发射模式
    
    
    }
    
    void loop()
    {
      delay(2500);
      int val = digitalRead(buttonPin);
      if (val == HIGH)
      {
        //radio.write(&text, sizeof(text));
       delay(3000);
        Serial.println("已经触发"&&text);
        //buttonState = digitalRead(buttonPin); //读取7号引脚的状态
        //delay(1000);
        radio.write(&buttonState, sizeof(buttonState)); //使用该函数将数据发送出去
        delay(3000);
        Serial.println(digitalRead(buttonPin));
        Serial.print(buttonState);
      }
      else {
        Serial.println("未触发");
        delay(1000);
      }
    
    }
    
    展开全文
  • 提出了基于最优双偏转能量映射和贝塞尔曲线多参数优化的双自由曲面透镜设计算法,并利用该算法设计了基于板上芯片型(COB)发光二极管(LED)的双自由曲面透镜,该透镜可应用于可见光通信系统的光学发射端。...
  • OFDM完美程序,用于发射端的,另有接收端
  • tp link740v4, ubnt 150m网桥发射端配置文件,直接上传,就行更改名字,和密码,频段,给不会设置的人使用
  • MIMO信道发射端已知、未知CSI的比较 容量 利用注水原理 瑞利衰落
  • Arduino+nRF24L01发射端(二) #include <SPI.h> #include <nRF24L01.h> #include <RF24.h> #define buttonPin 4 //发射器引脚-按钮 int buttonstate =0; //create an RF24 object RF24 radio...

    在这里插入图片描述

    Arduino+nRF24L01发射端(二)

    #include <SPI.h>
    #include <nRF24L01.h>
    #include <RF24.h>
    
    #define buttonPin 4 //发射器引脚-按钮
    int buttonstate =0;
    
    
    //create an RF24 object
    RF24 radio(7, 8);  // CE, CSN
    const byte address[6] = "00001";
    void setup()
    {
      pinMode(buttonPin, INPUT);//设置7号引脚为输入引脚
      pinMode(buttonPin, LOW);
     
      Serial.begin(9600);
      radio.begin();
      radio.setChannel(5);          
      radio.setDataRate(RF24_250KBPS); 
      radio.setPALevel(RF24_PA_MAX); 
      radio.openWritingPipe(address);  
      radio.stopListening();  
    }
    void loop()
    {
      buttonstate = digitalRead(buttonPin);
      delay(200);
         if (buttonstate == HIGH)
       {   
        delay(500);
          if (buttonstate == HIGH)
       { 
      const char text[] = "Hello World";
       radio.write(&text, sizeof(text));
      delay(1500);
       Serial.println(text);
        }
         }
        else {
         
          Serial.println("未触发");
          delay(1000);
        }
    
     // while (Serial.read() >= 0) {} //清空串口缓存
    }
    
    展开全文
  • 实现发射端迫零预处理,4x4 clc; clear; Tx = 4; %发送天线 Rx = 4; %接收天线 SNRdB = 30; %信噪比 N = 1000000; %序列长度 for SNR = 0 : SNRdB error = 0; for i = 1:N x = round(rand(Tx,1)); %产生0,1序列
  • Arduino+nRF24L01多按键远程无线控制(发射端) 采用的是arduino nano 注意ce和csn引脚,在使用nano开发板时,接7和8引脚。 本文只添加了2个按钮控制发射端2路io口信号的触发,想要增加按键只需依次添加即可,添加的...
  • 基于单片机的24L01无线电传输的发射端电路图

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,216
精华内容 886
关键字:

发射端