⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 signal.c

📁 在TI的CCS环境下用C语言编写的lms算法,已经通过测试
💻 C
字号:
/*
	signal.c - Sinewave plus additive zero-mean random noise 
*/                                       

#define USE_DATA 1

#if USE_DATA   /* Use noise data file */

#pragma CODE_SECTION(cos_rand, "lms_code"); 
#pragma DATA_SECTION(noise, "lms_data"); 
#pragma DATA_SECTION(i, "lms_data"); 

#include "noise.dat"

static unsigned int i=0;        
        
void cos_rand(int *x, unsigned int Ns)
{
    unsigned int t;
    
    for (t=Ns; t>0; t--)
    {                         
   	*x++ = noise[i];  
   	i++;
   	if (i == 10000)
   	    i = 0;
   }
}

#else   /* Generate noise samples */

#include <math.h>
#include <intrindefs.h> 

#pragma CODE_SECTION(cos_rand, "lms_code"); 
#pragma DATA_SECTION(i, "lms_data"); 

#define PI	3.1415962
#define K	(Ns>>6)
#define a1	0x4000
#define a2	0x4000
             
static unsigned int i=0;        
        
void cos_rand(int *x, unsigned int Ns)
{
    unsigned int t;
    float   two_pi_K_Ns;   
    int     temp;
    long    ltemp;     
    
    two_pi_K_Ns=2.0*PI*K/Ns;
    for (t=Ns; t>0; t--)
    {                         
        temp = (int)(0x7fff*cos(two_pi_K_Ns*i));
        ltemp = _lsmpy(a1,temp);  
   	  temp = rand(0x228)-0x4000;
        *x++ = _smac(ltemp,a2,temp)>>16;  
   	  i++;
   	  i%=(Ns>>1);
   }
}

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -