Any info on the BER performance of a communication system involving a DUC(Digital Up-Converter) and DDC(Digital Down-Converter)?
Started by 5 years ago●10 replies●latest reply 5 years ago●176 viewsHello, I have developed an OFDM system that uses a DUC and a DDC for digitally up converting and down converting the OFDM symbols. I am trying to achieve wideband frequency hopping digitally and what I have found is that the BER performance of my system degrades to around 0.45-0.5 as compared to 10^-3 when there is no DUC and DDC in my system. I was wondering if anyone might know the reasons behind this behavior. For improving the BER, what else should I include in my system. Do I need a filter after DDC? Thank you in advance!
A properly implemented DUC or DDC should not affect BER at all. Something in your processing chain is distorting the signal.
Yes. What are you simulating your system with? Can you take the spectrum befor and after the DUC (DDC) ?
Note that in digital comm these are commonly called rotators (or de-rotators). The idea is that the signal is "rotated" about the Z-Plane unit circle. You are multiplying the signal by a complex phaser to move the center of the OFDM wavefrom to/from DC from/to your IF.
In simulation you should be able to generate a complex sinusoid and do a complex multiply of the complex source (or IF).
Hope this helps.
I'm using Simulink for my implementation. I used the in -built Block of the DUC and the DDC for my system. Yes, I obtained the spectrums before and after the DUC and I obtained it correctly. But the problem is with the BER as the BPSK symbols are not getting down converted correctly. The values are mostly scattered around +-1.5 instead of +-1. Because of this I get a BER of around 0.47-0.5
Hello! If I do not include the DUC and the DDC, I get a BER of 10^-4 at 12 dB SNR. The problem arises once I include the DUC and the DDC. My bandwidth of the ofdm signal is 40 MHz and I'm trying to digitally up convert it to 500 MHz and downconvert the same with the help of the DDC. I'm using the interpolation factor and decimation factor as 100 which is by default in the block. I'm even getting the correct spectrum as well but the bits are getting corrupted after it gets down converted. Please let me know if I am missing anything in my design.
There are a lot of things that could be wrong, but it's hard to tell without knowing the configuration of your sim. You need a very high sample rate to mix up to 500 MHz, and the interpolation filter may be attempting to do that. However, if your initial sample rate isn't compatible you may still wind up with some distortion or aliasing.
I'm not a simulink user, but I do know that there are a lot of setting that can screw things up if they're not right. If the precision isn't handled properly, or the filters aren't what you need, sample rates, etc., etc.
some issues to consider.
1) With DUC/DDC you likely introduce group delay of various filters.
You need to take that into account when deciding ofdm frame boundaries.
2)In real systems channel filter is applied to stream to remove noise but may not apply to your case
Hi there,
maybe you can find the answer to your question in the artical "Design and ASIC Implementation of DUC / DDC for Communication Systems" by Naagesh S. Bath
Thank you very much. Right now I'm using Simulink for simulation but I plan to use RFSoC to implement wideband frequency hopping.
a bit error rate of 0.5 is equivalent to guessing, so I think you have some sort of general bug in your implementation (it does not work at all) and not an issue with the quality of up and down conversion.
Hello! Thank you for the reply. The system that I implemented where I basically simulated an OFDM system with subcarrier interleaving works completely fine if I don't include the simulink in-built DUC and the DDC. I get a BER close to 10^-4 at 12 dB SNR. The problem arises once I include the DUC and DDC in the implementation. I want to do wideband frequency hopping because of which I have to include the DUC to digitally upconvert the OFDM signal. What I observe is that the DDC when it down converts, it generates symbols which are mostly in the vicinity of -2 and +2 instead of +1 and -1. So I'm thinking is there anything that I am missing to include in the system so that it downconverts to correct values.