How to generate a serial group data?
Hello:
/****************************************************************************************************/
One: I use "FilterTableGen" and "Capture" and "Link Complile" to generate a group of EQ(Peaking) data,but
I find some difference between them.
data generated by "Capture" and "Link Complile" is almost same!!!!
frequency=100Hz,Q=0.71
/****************************************************************************************************/
1:/*data generated by FilterTableGen-->Peaking -10dB to 10dB 21 steps 1dB*/
Boost=1
b0=1.00105714797974, 0x00 , 0x80 , 0x22 , 0xA4 ,
b1=-1.98250293731689, 0xFF , 0x02 , 0x3D , 0x58 ,
b2=0.981615662574768, 0x00 , 0x7D , 0xA5 , 0x95 ,
a1=1.98250293731689, 0x00 , 0xFD , 0xC2 , 0xA8 ,
a2=-0.982672810554504, 0xFF , 0x82 , 0x37 , 0xC7 ,
2:/*data generated by Capture Windows Value=1dB*/
EQ1940SingleS10B1 0x0000 0x00,0x80,0x22,0x7F
EQ1940SingleS11B1 0x0001 0xFF,0x02,0x3A,0xF7
EQ1940SingleS12B1 0x0002 0x00,0x7D,0xA8,0x1B
EQ1940SingleS11A1 0x0003 0x00,0xFD,0xC5,0x09
EQ1940SingleS12A1 0x0004 0xFF,0x82,0x35,0x66
EQ1940SingleS10B1 0x0000 0x00,0x80,0x22,0x7F
EQ1940SingleS11B1 0x0001 0xFF,0x02,0x3A,0xF7
EQ1940SingleS12B1 0x0002 0x00,0x7D,0xA8,0x1B
EQ1940SingleS11A1 0x0003 0x00,0xFD,0xC5,0x09
EQ1940SingleS12A1 0x0004 0xFF,0x82,0x35,0x66
3: data generated by Link Complile/* Module Mid EQ1 - Medium Size Eq Value=1dB */
#define MOD_MIDEQ1_COUNT 5
#define MOD_MIDEQ1_DEVICE "IC1"
#define MOD_MIDEQ1_ALG0_STAGE0_B0_ADDR 0
#define MOD_MIDEQ1_ALG0_STAGE0_B0_FIXPT 0x0080227E
#define MOD_MIDEQ1_ALG0_STAGE0_B0_VALUE SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1.00105268966457)
#define MOD_MIDEQ1_ALG0_STAGE0_B0_TYPE SIGMASTUDIOTYPE_FIXPOINT
#define MOD_MIDEQ1_ALG0_STAGE0_B1_ADDR 1
#define MOD_MIDEQ1_ALG0_STAGE0_B1_FIXPT 0xFF023AF7
#define MOD_MIDEQ1_ALG0_STAGE0_B1_VALUE SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-1.98257553578812)
#define MOD_MIDEQ1_ALG0_STAGE0_B1_TYPE SIGMASTUDIOTYPE_FIXPOINT
#define MOD_MIDEQ1_ALG0_STAGE0_B2_ADDR 2
#define MOD_MIDEQ1_ALG0_STAGE0_B2_FIXPT 0x007DA81B
#define MOD_MIDEQ1_ALG0_STAGE0_B2_VALUE SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.981692712732305)
#define MOD_MIDEQ1_ALG0_STAGE0_B2_TYPE SIGMASTUDIOTYPE_FIXPOINT
#define MOD_MIDEQ1_ALG0_STAGE0_A1_ADDR 3
#define MOD_MIDEQ1_ALG0_STAGE0_A1_FIXPT 0x00FDC509
#define MOD_MIDEQ1_ALG0_STAGE0_A1_VALUE SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1.98257553578812)
#define MOD_MIDEQ1_ALG0_STAGE0_A1_TYPE SIGMASTUDIOTYPE_FIXPOINT
#define MOD_MIDEQ1_ALG0_STAGE0_A2_ADDR 4
#define MOD_MIDEQ1_ALG0_STAGE0_A2_FIXPT 0xFF823567
#define MOD_MIDEQ1_ALG0_STAGE0_A2_VALUE SIGMASTUDIOTYPE_FIXPOINT_CONVERT(-0.982745402396873)
#define MOD_MIDEQ1_ALG0_STAGE0_A2_TYPE SIGMASTUDIOTYPE_FIXPOINT
/****************************************************************************************************/
Two: data generated by Capture Windows is douled,for example a "Module Mid EQ1" need 5 32_bits data;
but Capture Windows generated 10 32_bits data.if I use Capture Windows's data,I have to reduce half of
them!Crazing???
But when I design ,I used schematic not "FilterTableGen",I want a way to generate data in the schematic
/****************************************************************************************************/
/****************************************************************************************************/
Three: "Link Complile" only generated a groud data,if I change value and Link Complile another group
data genterated,but this data
have same name as last. Is there another good way to generate a serial data?
/****************************************************************************************************/
/****************************************************************************************************/
Four: Is there a method to shift phase=Pi/4 from 20Hz to 20KHz?
/****************************************************************************************************/
Thanks!
Best regards!
zhu wrote:
Hello:
/****************************************************************************************************/
One: I use "FilterTableGen" and "Capture" and "Link Complile" to generate a group of EQ(Peaking) data,but
I find some difference between them.
data generated by "Capture" and "Link Complile" is almost same!!!!
frequency=100Hz,Q=0.71
/****************************************************************************************************/
The filter table generator window has a sample rate of 44.1 kHz by default. The project (which controls the capture window and export files) has a sample rate of 48 kHz by default. So, try setting the filter table generator window's sample rate to 48 kHz and the results should match.
The differences between the capture window and export system files appear to be just in the LSB, which is basically a difference of 0.0000001. This is just a rounding error, presumably because the export system files tool has a different rounding function than the capture window; it won't have any impact on the performance of the filter.
zhu wrote:
/****************************************************************************************************/
Two: data generated by Capture Windows is douled,for example a "Module Mid EQ1" need 5 32_bits data;
but Capture Windows generated 10 32_bits data.if I use Capture Windows's data,I have to reduce half of
them!Crazing???
But when I design ,I used schematic not "FilterTableGen",I want a way to generate data in the schematic
/****************************************************************************************************/
The capture window has a bug where it is generating and downloading the coefficients twice. You only need to download the coefficients once. So, please ignore the second set of 5 coefficients. Hopefully we can resolve this bug soon.
zhu wrote:
/****************************************************************************************************/
Three: "Link Complile" only generated a groud data,if I change value and Link Complile another group
data genterated,but this data
have same name as last. Is there another good way to generate a serial data?
/****************************************************************************************************/
I'm not sure I understand this question. If you want to generate multiple sets of parameter settings, I would suggest following this tutorial: https://ez.analog.com/docs/DOC-1806
zhu wrote:
/****************************************************************************************************/
Four: Is there a method to shift phase=Pi/4 from 20Hz to 20KHz?
/****************************************************************************************************/
As described in this thread ( https://ez.analog.com/message/63198#63198 ), an arbitrary phase shift is difficult, but you may be able to get this result using the Hilbert Transform cell in the library. Unfortunately we don't yet have documentation on the Hilbert Transform cell, but you can find details about what it does here: http://en.wikipedia.org/wiki/Hilbert_transform
This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.
Thank you,
EZ Admin
Please log in to reply.