打印

FSK信号鉴频的程序

[复制链接]
574|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Peonys|  楼主 | 2017-11-9 10:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
FSK信号鉴频的程序


  • /*******************************************************************/
  • /*******************************************************************/
  • /* This program implements the function of finding out the largest */
  • /* and the second largest values of the sequence of "in_buffer[10]"*/
  • /*******************************************************************/
  • /*******************************************************************/

  • #include <stdio.h>
  • #include <math.h>
  • #include "freq_max_finding.h"

  • //extern float cosf(float x);
  • extern int in_buffer[10]={0,0,0,0,0,0,0,0,0,0}; /* in_buffer[]中的值为频谱点 */
  • //int out_buffer[2];

  • static void dataIN(void);

  • void main()
  • {
  •         int                i=0;
  • //        float         data_max=0;
  •         int                data_max=0;
  • //        float         data_max2=0;        
  •         int     data_max2=0;
  •         
  •         int         i_max=0;
  •         int         i_max2=0;
  •         
  •         float         f_max=0;
  •         float         f_max2=0;
  •         
  •         int                p=0;
  •         int                q=0;
  •         
  • //        float a=0, b=3.14159;
  • //        a=a+0;
  • //        b=b+0;
  • //        a=cosf(b);

  •         /**********************************************************/
  •         /** 几句废话,消除warning:data_max was set but never used **/
  •         data_max=data_max+0;
  •         data_max2=data_max2+0;
  • //        i_max=i_max+0;
  • //        i_max2=i_max2+0;
  •         f_max=f_max+0;
  •         f_max2=f_max2+0;
  •         /**********************************************************/
  •         
  •         dataIN();        /* read data into memory */
  •         
  •         
  • /************************************************/        
  • /** find out the greatest value of "in_buffer" **/

  •         for(i=0;i<=POINT_ALL-2;i++)
  •                 {
  •                  if (in_buffer[i+1]>in_buffer)
  •                            {data_max=in_buffer[i+1]; i_max=i+1;}
  •                                  
  •                  else {data_max=in_buffer; i_max=i;}        
  •                 }

  •         f_max=FS*i_max/POINT_ALL; /* calculate the value of carrier frequency */
  •         
  • /************************************************/        

  •         
  • /*****************************************************/              
  • /* find out the second greatest value of "in_buffer" */        

  •                 in_buffer[i_max]=0;        /* set 0 to "in_buffer[i_max]"*/
  •                
  •                 for(p=1;p<=POINT_ALL/2;p++)
  •                         {
  •                          for(q=0;q<=POINT_ALL/2-2;q++)
  •                                  {
  •                                     if (in_buffer[q+1]>in_buffer[q])        
  •                                                     {data_max2=in_buffer[q+1]; i_max2=q+1;}
  •                                                    
  •                                     else        {data_max2=in_buffer[q]; i_max2=q;}
  •                                   }
  •                                  
  •                          /* determines the availability of i_max2 through
  •                             estimating the distance of i_max between i_max2 */
  •                          if (abs(i_max-i_max2)<=GAP)        in_buffer[i_max2]=0;
  •                          else        break;
  •                         }
  •                         
  •                 f_max2=FS*i_max2/POINT_ALL;        /* calculate the value of carrier frequency2 */
  •                
  • /*****************************************************/               
  •         
  •         while(1);
  • }


  • static void dataIN()
  • {
  •         /* do read data from host file */
  •         return;
  • }


复制代码


相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

640

主题

901

帖子

5

粉丝