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

📄 fxlms.c

📁 DSP56F800e HYBRID Controller
💻 C
字号:
#include "Headers.h"



double C_filterCoef[C_FILTER_TAPS]; 
DataRam memorie;                    //o instanta a structurii DataRam 



void mapareSegmente()
{
 
 memorie.dataX.base = SEG0_BASE;     //adresa de inceput pentru zona in care e stocat bufferul X
 memorie.dataX.dim  = SEG0_LENGTH;	 //dimensiunea segmentului 0 
 
 memorie.dataE.base = SEG1_BASE;     //adresa de inceput pentru zona in care e stocat bufferul 	E
 memorie.dataE.dim  = SEG1_LENGTH;	 //dimensiunea segmentului 0 
 
 memorie.dataY.base = SEG2_BASE;     //adresa de inceput pentru zona in care e stocat bufferul Y
 memorie.dataY.dim  = SEG2_LENGTH;	 //dimensiunea segmentului 0 
	
}






/****************************************************************************************************
 ______________________________________________________________________________                     * 
*|   |   |   |   |     |     |    |    |    |    |    |    |    |    |    |    |                    *
*| 0 | 0 | 0 | 0 | b11 | b10 | b9 | b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 |<---------------|   * 
*|___|___|___|___|_____|_____|____|____|____|____|____|____|____|____|____|____|                |   *
*                  |      				|					     |         |________            |   *
*                  |      				---->    			     |__________________xor-->      |   *
*                  -------------------------->xor----------------------------------------->xor->|   *                      
*                     									                                            *
*b0 <- b0 XOR b2 XOR b7 XOR b11                                                                     *
*data reprezinta data de plecare pentru generarea semnalului de antrenare                           *  
*****************************************************************************************************/
void generareWhiteNoise(UInt16 data)
{  
 
   
  register UInt16 data1;
  UInt16 i;
   

  asm(move.l memorie.dataY.base,R1);   
  for(i=0;i<2048;i++) 
  {        	       
    data1 = ((data1<<1)  |  ((data1 ^ (data1>>2) ^ (data1>>7) ^ (data1>>11)  ) &01))&0x0FFF;    
   
   // data1= i%10;
    asm(move.w data1,X:(R1)+);           
  }
}



asm void  calculMac()
{
   clr A;
   move.l SEG2_BASE,R0;
   move.l SEG2_BASE,R1;
   
   moveu.w #$2048,LC   //LOOP COUNTER
   NOP;
   NOP;
   DOSLC END_DOSLC
  
   move.w X:(R0)+,X0
   move.w X:(R1)+,Y0
   
   IMAC.L X0,Y0,A 
      
   END_DOSLC: 
   RTS;
}


        
void modelareaOffline()    /* Aici se realizeaza modelarea Offline a sistemului*/ 
{
 register UInt32 Suma=0;
 UInt32 data; 
 
 
 char sir[20];
 double miu;       
 calculMac();

 


	
}

⌨️ 快捷键说明

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