- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi everyone,
I have a problem with the Decimating CIC filter with multi-channel input, generated by DSP Builder. The settings are as following: Input Rate per Channel/MSPS : 20 Number of Channels: 32 Number of Stages: 3 Decimation Factor:1/32 Differential Delay: 1 Clock: 100 MHz From these setting I need to feed input vector of 7 because each input has TDM of 5 (100MHz/20MHz). The problem is that the outputs from decimatingCIC are shifted from the respective input arrangement (i.e. input at channel c1 appears at output c0). What could be the cause of this problem? I simulated it in Simulink and it was working. Thank you in advance.Link Copied
7 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- Hi everyone, From these setting I need to feed input vector of 7 because each input has TDM of 5 (100MHz/20MHz). --- Quote End --- can you explain the above, I don't get it. are the 32 channels serial or parallel?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello kaz,
Thank you very much for your reply. I attached the filter report in this comment. If I under stand it correctly I need to put 32 channels in both serial and parallel. like this: Input Data Format (Repeats every 5 clock cycles) <c00><c01><c02><c03><c04> <c05><c06><c07><c08><c09> <c10><c11><c12><c13><c14> <c15><c16><c17><c18><c19> <c20><c21><c22><c23><c24> <c25><c26><c27><c28><c29> <c30><c31><c32><c33><c34> I put every 5 data in series and there are 7 of these serialized signals I fed to the CIC filter. I expect the output signals to be like what it is specified in the report: Output Data Format (Repeats every 160 clock cycles) <c00><c01><c02><c03><c04><c05>.......<c30><c31><---><---><---><--->..... However, What I got is something like.. <c01><c02><c03><c04><c00><c05>.......<cxx><cxx><---><---><---><--->..... The order of the data seems to be shifted. Thank you.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
check your valid and channel number inputs correspond to data right at filter inputs
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
also remember these are meant to be channels and will also get decimated so your observation is not that easy. put zeros in all except one at a time and see
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you again Kaz,
I have connected the data, valid, and channel right infront of the Filter to ChanView. The output signals from channel view was as expected, no shift at the input. All data are displayed at the proper channels. However, I tried to delay only the data line by 1 sample delay. As a result, CICfilter outputs are now in the right order. I think this is might be only a temorary solution because once I do this the data and channel number are not aligned at the input of CICfilter any more. Could it be that there is a missing sample delay in the DecimatingCIC filter because I have to compensate it in front of the block? Thank you very much.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- Thank you again Kaz, I have connected the data, valid, and channel right infront of the Filter to ChanView. The output signals from channel view was as expected, no shift at the input. All data are displayed at the proper channels. However, I tried to delay only the data line by 1 sample delay. As a result, CICfilter outputs are now in the right order. I think this is might be only a temorary solution because once I do this the data and channel number are not aligned at the input of CICfilter any more. Could it be that there is a missing sample delay in the DecimatingCIC filter because I have to compensate it in front of the block? Thank you very much. --- Quote End --- My own experience with DSPBuilder is that channel input is(or was) actually ignored (not driving anything internally) and instead the design counts from first valid. It might be related to that so double check the start of valid input
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Kraz,
Thank you very much. The problem is solved! I double checked the first valid. At the first valid the channel and data are from c1 instead of c0. This is because the counter setup, which I use to generate channel number and select data, was set to [<_initial_value> <_modulo> <_step_size>]= [0 5 1], and the output became 1 at the first valid. Instead I have to set it to [-1 5 1] to get the first channel number to 0 at the first valid. Once I did this everything looks nice! Thanks a lot. Tormour
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page