DSPRelated.com

Mark Napier (@napierm)

Over 25 years of designs for instrumentation, communications, and signal processing. Over the last 15 years I've done design work touching the physical layer for every digital communication standard for cable TV and cable modems. Also designed SATA host, USB host and slave interfaces along with various bus interfaces. As these are all ASIC designs, they are in the market in millions of homes working 24/7. Last design is an OFDMA transmitter for Docsis 3.1. Current work is for next generation wireless, so called "5G" data.

Re: Is there any DAC math model around?

Reply posted 12 months ago (03/28/2023)
The plot of OFDM frequency bins is showing the overlap of signal energy from adjacent bins.This is a completely different plot from D2A conversion.  It is showing...
Depends on the decimation ratio you need.  For large decimation ratio a CIC is hard to beat for efficiency.  Depending on how flat the frequency response needs...
Hey Neil!Or the solution we used often which is a PLL driving a Farrow interpolator.These two papers give a good overview of subject:Floyd M. Gardner, "Interpolation...

Re: fft process gain revisited

Reply posted 1 year ago (03/08/2023)
Exactly.If you consider white noise power to be evenly distributed in the Nyquist zone then your processing gain is the Nyquist bandwidth / equivalent noise power...

Re: Sigmoid function

Reply posted 1 year ago (02/09/2023)
Think I would 2nd the suggestion of a look up table.  I would also look at interpolation to keep the table size reasonable.  See if there isn't something like...
Hello,If these signals are pure sinusoidal and they are the same frequency then you can estimate the time difference by a difference in phase.One way would be to...

Re: Calculating optimal loop point in audio sample

Reply posted 1 year ago (11/17/2022)
I'm assuming that each of the sounding pipes is independent.  Each of them has a resonance and is walking in phase.  If so I don't see how you can make them continuous...
Only way I would know to work the problem would be through stage debugging.Dump vectors out of each stage and compare them against the expected values.

Re: extract analysis and synthesis weighting filters

Reply posted 2 years ago (06/29/2022)
2nd time posting this.  Web page crapped out on me the first time.OK, I think I understand.  You have a working black box.You can do it with an input impulse if...

Re: extract analysis and synthesis weighting filters

Reply posted 2 years ago (06/29/2022)
Hello Drunken Monk!The filter bank design methods I'm familiar with involve designing a prototype filter to meet the channel specifications.  The length and form...

Re: How much CompE for DSP?

Reply posted 2 years ago (06/23/2022)
My undergraduate was computer engineering.  But I did take DSP and VSLI as well as EMAG.  I was working then in geophysics so got pulled into an analog instrumentation. ...

Re: Help with polynomial zeros

Reply posted 3 years ago (08/09/2021)
The results do look interesting.  I don't see that the code base has been made available for others to try.

Re: Help with polynomial zeros

Reply posted 3 years ago (08/09/2021)
ScopeFIR looks interesting.  But right off is says the limitation for number of taps is 16K.  Not big enough.  Another is that I almost always wind up with a...

Re: Help with polynomial zeros

Reply posted 3 years ago (08/09/2021)
I've worked a few more examples with HPF and seems like my intuition is correct.  The problem is not lack of precision.  Increasing to a crazy number of decimal...

Re: Help with polynomial zeros

Reply posted 3 years ago (08/07/2021)
...

Re: Help with polynomial zeros

Reply posted 3 years ago (08/07/2021)
Yes, that does make all 6 zero pairs plot correctly.  Doesn't solve the problem that I need a metric crap ton of them close together on the circle.  But does...

Re: Help with polynomial zeros

Reply posted 3 years ago (08/07/2021)
Nutty, yes?

Re: Help with polynomial zeros

Reply posted 3 years ago (08/07/2021)
Yes, I'm considering round off.  Just doesn't seem like that is the problem and Matlab doesn't natively support any float bigger than a double. This is not trivial...

Re: Help with polynomial zeros

Reply posted 3 years ago (08/07/2021)
Not foolish at all.  Unfortunately the form of this particular problem hits a large prime number so the exact solution needs the long FIR.  Yes, there are other...

Re: Help with polynomial zeros

Reply posted 3 years ago (08/07/2021)
Respectfully, I've tried poly and conv.  They yield identical results.

Help with polynomial zeros

New thread started 3 years ago
I'm working on a problem where I need a *very* long FIR with many stop bands.  I've done several similar designs recently and remez() with the right prodding will give...

Re: Digital IIR Parallel Implementation

Reply posted 3 years ago (06/27/2021)
Is there a Matlab example of an upsampling 1:2 Hilbert transform shown in that paper?  I follow the downsampling Hilbert transform in chapter 6 of your book...

Re: How to compute a phase? [phase estimation]

Reply posted 3 years ago (03/25/2021)
There is a lot going on.  It's hard to break the problem up w/o going into the background details first.The best nuts and bolts book I've seen is by Michael Rice.Do...

Re: Multi-filter Parks McClellan algorithm

Reply posted 3 years ago (12/16/2020)
...

Re: DSP Master's Degree

Reply posted 3 years ago (11/27/2020)
Its hard to be good at everything but it doesn't hurt to try.  I also agree that you don't need to quit working.  Just keep knocking the classes down one at a...

Re: Polyphase Filter Bank channelizer issue

Reply posted 3 years ago (11/27/2020)
Hello,I've done a couple of receive channelizers now.  I didn't use any canned tools.  I dug up several good papers and some Matlab example scripts.  I coded...

Re: Will this FPGA be suitable for DSP purposes?

Reply posted 3 years ago (10/03/2020)
I'm using the PYNQ-Z2 board to teach Verilog at work.  This board is a smoking deal:https://www.dfrobot.com/product-1838.html?gclid=Cj...https://www.newark.com/tul-corporation/1m4-m000127...https://www.mouser.com/ProductDetail/DFRobot/DFR06...https://www.digikey.com/en/products/detail/dfrobot...You...

Re: Clock handling in multi rate systems

Reply posted 3 years ago (10/03/2020)
There are multiple answers to that question depending on the application.  I've used a Farrow filter and sampled across clock domains.  You can actually use the...

Re: FSK demodulation with Doppler correction

Reply posted 3 years ago (09/27/2020)
The way I've seen FSK done is with a I/Q to Mag/Phase Conversion.  Then take the derivative of the phase to get frequency.  Measure the frequency during the preamble...

Re: Clock handling in multi rate systems

Reply posted 3 years ago (09/26/2020)
Well, that is the whole other subject.Several questions.The easiest would be if you could give some details of what you are trying to do.

Re: Clock handling in multi rate systems

Reply posted 3 years ago (09/25/2020)
I worked on a couple of ASICs where the sample rate is tied to the clock rate.  Crossing from one domain to another is tricky.In my ASIC designs and in an FPGA...

Re: Simple Voice for Demo

Reply posted 4 years ago (09/15/2020)
Hey Bernhard,Good idea.  I can do that with a phase accumulator and a look up table.Mark

Simple Voice for Demo

New thread started 4 years ago
Hello,I'm working on a demo for a Verlog/FPGA class I've been giving internally.  Have a simple microphone/speaker hat (MagPi Voice Hat) that is wired into an FPGA...

Re: SDR/DSP Question

Reply posted 4 years ago (08/15/2020)
Hey Neil!Yes, upsample and use a DDC strategy to go direct to RF.  I missed that 30MHz is your highest frequency.Also for full disclosure, I design for FPGA/ASIC...

Re: SDR/DSP Question

Reply posted 4 years ago (08/15/2020)
I pretty much always start at the interface to the D/A (A/D) and work backwards.  The interface works at a fixed rate so the SDR has to source and sink the data...
I can tell you that Docsis 3.1 OFDMA uses direct D/A to RF and direct A/D from RF.  All the bins in the frame are filled including the "DC" term.Hope that helps,Mark...

Re: IFFT Synthesis Amplitude Estimation

Reply posted 4 years ago (08/13/2020)
As others have noted you will see a peak that is related to the relative phase and power of your input frequency terms.  To see the pathological case put in repeated...
Yes that would work fine.  And honestly 0.3% error is never going to be seen in a noise measurement.
I recently coded up an RSSI dB function for a receiver implemented in an FPGA.  Not quite what you are doing here but the concept is the same.  I am finding...

Re: Root Raised Cosine Filter

Reply posted 4 years ago (05/14/2020)
I looked at that spec and sure enough they are using the RRC for base-band filtering.It's a little different.  So what they have to do is use the matching RRC filter...

Re: Root Raised Cosine Filter

Reply posted 4 years ago (05/14/2020)
Hello,A raised cosine (or general Nyquist) filter is used over a linear channel in order to minimize inter-symbol interference.  Since a band limiting filter is...
I also see the complex conjugate multiplication method used to find the course frequency offset for GMSK/O-QPSK control loops.It would be hard to find the original...
I don't know where that term came from.  Taking the derivative of the phase to get instantaneous frequency dates back a long, long time.This and other means of...
Being the King of careless errors on a test, I would hate you.
Hello,I would suggest breaking up the problem into simple steps.1st: interpolate.  In the past I've use a sharp (long) half band filter to double the sample rate...

Re: Fsk demodulation

Reply posted 4 years ago (03/30/2020)
I don't think I can work the problem but maybe can give you some insight from a system point of view.  In practice the modulation is done with a phase accumulator. ...
The purpose of the base-band filter in OFDM TX is to smooth the transition from one symbol to another in the time domain.  The main reason is to help band-limit...
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...

Re: What is the cost of a typical MSEE degree?

Reply posted 4 years ago (12/17/2019)
I did the evening MSEE program at Mercer University.  Required 30 semester hours to finish.  Private school.  In the 90's I think it was ~$500 per semester hour. ...
Hello,Like the others I don't think I see enough information here to make much of a suggestion.  You say there is input data "with frequency content near about...

Re: Designing an IIR comb (peak) filter

Reply posted 5 years ago (09/04/2019)
Nice thing is this can be implemented with 1 adder and a memory.

Re: CMSIS DSP ARM Complex FFT output arrangement

Reply posted 5 years ago (09/04/2019)
Yes, my mistake.  N = 128.  N-1 => 127, this "1st" negative frequency.  Your picture is correct.Note that both of your pictures are in natural order, not bit...

Re: CMSIS DSP ARM Complex FFT output arrangement

Reply posted 5 years ago (09/04/2019)
Bit reversal means that the output is in bit reversed order.  Bin 0 is at offset 0, Bin 1 is at offset 0x40, bin 2 is at offset 0x20, bin 3 is at offset 0x60, etc.One...
One way to do this is with a channelizer.  Sample, (or re-sample) your signal so that the tone's spacing will naturally fall into the center of the bins of an...
That's a new one for me.  I'm trying to understand why this works.

Re: FIR filter shortening technique

Reply posted 5 years ago (07/11/2019)
Hello,1024 down to 3 may be a tall order.  However, depending on your real system requirements there may be something to do.What are the requirements?  Sample...

Re: Clock drift and compensation

Reply posted 5 years ago (06/30/2019)
I've used a FIFO count as the feedback in a rate conversion scheme but I can't recommend it.  It tends to suffer from limit cycles.  After a fair bit of tweaking...

Re: Multistage decimation by two with halfband filters

Reply posted 5 years ago (06/10/2019)
You are exactly right, I don't think you've missed anything.  Curious what application needs 140dB of attenuation...In interpolation I have use the same filter...

Re: Time delay

Reply posted 5 years ago (04/04/2019)
Hello,First off if you are doing audio processing then the IIR filters are absolutely the way to go.  The ear is not sensitive to phase delay.  However, you will...

Re: Folded FIR filter in Matlab or Octave

Reply posted 5 years ago (02/04/2019)
Thanks!  Looks like a new book which I'll be happy to pick up when its available.  The last SDR book stopped at chapter 5.  Is there a set of supplements for...

Re: Folded FIR filter in Matlab or Octave

Reply posted 5 years ago (01/30/2019)
Hey Fred!Good read, as always.I've been working on channelizers this year and your various papers have saved my bacon.  Last year I worked with Dragan at SpaceX. ...
I agree with you.
Hello Morteza,I'll post an example.  Today is really busy but I'll try get to it.A Farrow filter needs a term called "mu" which has a value of [0,1), that means...
Hello Morteza,Unfortunately I don't have any specific references for the NCO specifically other than general references on PLLs.  It's not hard once you see it. ...
Hello Morteza,I've designed several of these in Simulink, it is my preferred tool.  I'll help you with the design if you will agree to fully document the method...
Fred Harris would advocate a poly-phase interpolating filter, but that too is steered by the NCO.
What you are describing is a pretty common problem.  How you go about handling it depends on the system.First off, which SDR stack is it?  GNU radio?  If so you...
In simulation I found that pseudo-random numbers worked pretty well.  The criteria is that they be un-correlated enough to look like random noise.  The trick...

Re: OFDM Constellation.

Reply posted 5 years ago (09/26/2018)
Also, there really isn't enough information here to help much.You want metrics for each of the frequency bins.  How much phase roll is there over the band?  Can...

Re: "FFTish" Twiddle Factors

Reply posted 6 years ago (08/29/2018)
Had a lot of trouble getting it to work.  Finally I pulled out an old Mathcad image and tried the formula directly.  That works.  So it just needs some fingering...

Re: "FFTish" Twiddle Factors

Reply posted 6 years ago (08/28/2018)
Found it in a book I already had, "Fast Fourier Transform and Convolution Algorithms" by H.J.NussbaumerPage 85, Section on the Fast Fourier Transform (isn't the...

"FFTish" Twiddle Factors

New thread started 6 years ago
I'm dinking with the DFT 128 (sort of FFT) verilog code from open cores.  I've used the 256 point version before.  It has some bugs in it but sort of works out...

Re: Filter complex signal and get spectra

Reply posted 6 years ago (07/03/2018)
Hello,Ran you code and looked at the output.Problem is that you are looking at the spectrum of the startup transient of an extremely short filter with a high frequency...
Another way to look at it is to ask what is the purpose of a Nyquist filter.  It is used so when the waveform is received it can be processed so that it has minimal...

Re: I/Q sampling basics

Reply posted 6 years ago (04/23/2018)
Yes, that mix is usually the real part minus the imaginary part, y(n) = real(x(n)) - imag(x(n)).The point is that both sides of the spectrum (+ and -) will add together. ...

Re: I/Q sampling basics

Reply posted 6 years ago (04/23/2018)
Hello,Looking at your diagram I assume you mean the incoming signal is mixed down to complex base-band.  In that case then you sample the band limited signal where...

Re: Artifacts in Time Varying IIR Filters

Reply posted 6 years ago (04/19/2018)
Hey Fred,I (and others for sure) would love to have the example code where you decompose a biquad into the 1 tap filter.Cheers,Mark Napier

Re: Forums Update, Tips and Tricks - Please Read!

Reply posted 6 years ago (04/18/2018)
Hey Stephen,Is there a search capability?  Subject, keywords, poster, etc.?Thanks,Mark Napier

Re: Impulse behavior of FIR LP filter

Reply posted 6 years ago (01/11/2018)
Looking at that graph, it looks like the filter is doing exactly the right thing.  If you analyze the signal WRT to energy vs. frequency then the the time offset...

Re: Digital Modulation Methods

Reply posted 6 years ago (10/22/2017)
Hello,Like others have said, I'm not quite sure what your question is.  But assuming that you just want the I/Q values and the constellation below is correct, label...

Re: Narrow band filter at high rate

Reply posted 7 years ago (08/31/2017)
Agreed.

Re: Narrow band filter at high rate

Reply posted 7 years ago (08/31/2017)
Hello,The way I read it is a 5MHz BW at baseband so +- 2.5MHz complex at 7.68Msps.  Seems reasonable.Anyway, the problem as stated is to have the DDC + filtering...

Re: Narrow band filter at high rate

Reply posted 7 years ago (08/30/2017)
Hello,I'm not sure about group delay, it may be that because of the tight filtering requirement the delay may be high.But I would approach this problem from a multi-rate...

Re: #Matlab rcosfir function

Reply posted 7 years ago (07/28/2017)
Just so you are aware, the raised cosine filter is not always the best choice for Nyquist filtering.http://engineering.sdsu.edu/seshagir/SDR05.pdf
OK.  I haven't seen that book so can't really comment on it.  If it is a cookbook with examples them it might be worthwhile.AFA fixed point, you are processing...

Re: Spherical Mapping/Unmapping

Reply posted 7 years ago (07/10/2017)
Hey Jim,That looks very nice.Thank you for the link,Mark
Not sure what level you are at.  Fixed point math and such can be found online as white paper.If you are doing SDR and communication design then hands down the...

Re: Cross Correlation with Increasing Finite functions

Reply posted 7 years ago (07/05/2017)
You have to window the 1st function.  In other words, limit the number of samples of your reference waveform.  Then slide that across the waveform you are measuring....

Re: FFT and IFFT scaling factor in OFDM

Reply posted 7 years ago (07/04/2017)
The way I look at it is in terms of power.  Power is proportional to V^2.  So for an N point FFT/IFFT the sum over N points of I^2 + Q^2 should be the same for...
Hello,I think what you mean is the Rolloff Period (RP).  Also the Rolloff Prefix or Rolloff Postfix depending on if it is at the front or back of the symbol.It...

Re: Spherical Mapping/Unmapping

Reply posted 7 years ago (07/02/2017)
No, I'm using the spherical projection mapping that is the same as what is used to project a bit/bump map onto a sphere (or other irregular object) in image processing....

Spherical Mapping/Unmapping

New thread started 7 years ago
Hello,I'm working a problem where I need to take the image of a ball and map it to a 3D sphere. Then rotate that sphere and map it back to a 2D image.  The idea...
Absolutely.  Trying to find something within commuting distance of Lawrenceville GA.Cheers,Mark Napier
Or this if your signal is clean enough:https://www.dsprelated.com/showarticle/1056.phpLooks like you will have to filter each of the harmonics to get a very clean...

Re: Simplification of an LMS implementation

Reply posted 7 years ago (06/12/2017)
Nice!
Pity you aren't in Atlanta.  I'm looking for work...
I suppose the question is how accurately do you know or can you measure the frequency of the fundamental carrier?  If you know that then cross-correlation (windowed)...

Re: Back to back CIC filters

Reply posted 7 years ago (04/21/2017)
Hello,The simple answer is no.  As someone else pointed out, you need matching integrators and differentiators so that the poles and zeros for a filter stage line...

Re: DDC in FPGA with high speed ADC

Reply posted 7 years ago (04/10/2017)
If you have the FPGA fabric and resources to spare sure.In ASIC design we are always trying to minimize area and power.  The chip costs so much it is worth some...

Re: DDC in FPGA with high speed ADC

Reply posted 7 years ago (04/10/2017)
Hope it works out for you.  I haven't used the system generator, just code in RTL (Verilog if possible).  Am doing more Xilinx work now so do need to get more...

Re: DDC in FPGA with high speed ADC

Reply posted 7 years ago (04/10/2017)
I agree completely.  The trick is the parallel design.  What I use is Simulink with a custom block set.  It allows you quickly try out different approaches in...

Re: DDC in FPGA with high speed ADC

Reply posted 7 years ago (04/08/2017)
Hello,This is a down-conversion process.  The center frequency Fc is 1000MHz sampled  at Fs = 3200MHz.  The BW of interest is 500MHz wide.So 1st do a complex...

Re: DDC in FPGA with high speed ADC

Reply posted 7 years ago (04/07/2017)
Hello,If I understand correctly you want Fs = 800MHz.  You also want 750MHz to 1250MHz centered in base-band so Fc = 1000MHz.  That gives a complex base band +-250MHz....

Re: Can we paralleize the integrator stage of CIC?

Reply posted 7 years ago (04/07/2017)
I've never seen an implementation of a parallel CIC integrator but it should be possible.  Integration is a linear operation so it can be spread out and the results...

Re: PDM asynchronous sample rate conversion

Reply posted 7 years ago (03/21/2017)
If your clocks are not frequency locked then you need a sample rate converter.  I've done a couple of these.  You have two design problems.The first is that you...

Re: On-Off Keying Communications

Reply posted 7 years ago (02/27/2017)
Non-polar Non Return to Zero (NRZ) means that the signal toggles for one logic level input (like 1) and stays the same for the other logic level input.  So you...

Re: Matlab Home-use version

Reply posted 7 years ago (11/11/2016)
Hey Tim,Simulink was been used in my old group (Scientific Atlanta/Cisco/ST Micro) for years and years.  It's a great tool for prototyping digital systems with...

Re: Matlab Home-use version

Reply posted 7 years ago (11/08/2016)
Hey Neil,For a lot of work now with contractors I'm using Octave.  For Windows the installations it comes with all of the design packages/functions I use.  It...

Re: LTE Downlink TX understanding

Reply posted 7 years ago (09/26/2016)
Hello,As mentioned by others, the inputs to an OFDM IFFT are in the frequency domain.  Each frequency bin (subcarrier) is populated by a complex number representing...

Re: CIC Filter

Reply posted 8 years ago (08/28/2016)
Hello,If you look at the original paper you will find the equations for bit growth at each stage.  So yes, the required adders can be large.  You cannot truncate...
Hey Andy,Yes, that is exactly right.  Break your messages up into smaller symbols.  There are 6,7,8 or other width code symbol sizes.  There is a trade off of...
Hello,What you are describing are burst errors.  The usual code for these is Reed-Solomon.  For every two parity symbols added the code can correct one symbol....

Re: Zero IF vs Low IF receivers

Reply posted 8 years ago (07/11/2016)
Be aware, the DC offset is only one problem.  There are usually gain/phase mismatches between I and Q that have to be accounted for.  Fred Harris has a couple...

Re: Zero IF vs Low IF receivers

Reply posted 8 years ago (07/11/2016)
In many applications now a Damn-Fast A/D converter is used, no tuner.  Then the band of interest can be downconverted/filtered with no LO.Price and power are high...

Re: Phase rotation after matched filtering

Reply posted 8 years ago (05/25/2016)
There are so many ways to skin the cat. In any digital receiver it has to AGC, frequency/phase match (rotator), filter and then sync timing.  Fred Harris had (has?)...

Re: Newbie with questions about decimation for SDR

Reply posted 8 years ago (05/16/2016)
For a fixed down-sample by 8 I would also suggest half-band filters.  The nice thing about them is that each one is processing at 1/2 the rate of the sample input....

Use this form to contact napierm

Before you can contact a member of the *Related Sites:

  • You must be logged in (register here)
  • You must confirm you email address