📄 fxlms.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 + -