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: How to design cic digital filter for sigma delta adc

Hello,Filtering and down-sampling will generally increase your SNR.  The normal assumption is that an A/D converter introduces noise that is evenly distributed...

Re: Farrow Filter

If your sampling ratios are fixed, that is derived from the same clock, you may be able to do a rational re-sampler.  That is much easier than a Farrow filter and...

Re: How to design cic digital filter for sigma delta adc

I recall also that there is a Fred Harris paper where he uses canonical half-band filters to filter and decimate.  He claims that by using I2R filters, specifically...

Re: How to design cic digital filter for sigma delta adc

Hello,So I'm gathering that you have a 3-bit value with an incoming sampling rate of Fs_in = 1.024 MHz.You want to filter and decimate by a ratio of 512.  That...

Re: Is there any DAC math model around?

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...

Re: Difference between averaging and decimation on oversampled data

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...

Re: Sampling Rate conversion with arbitrary and variable ratios

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

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

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...

Re: Finding delay b/w two signals using MATLAB 'gccphat'

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

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...

Re: Having problem in debugging an issue with IIR filter

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

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

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?

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

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

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

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

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...

Nutty, yes?

Re: Help with polynomial zeros

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

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

Respectfully, I've tried poly and conv.  They yield identical results.

Help with polynomial zeros

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

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]

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: DSP Master's Degree

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

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?

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

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

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

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

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

Hey Bernhard,Good idea.  I can do that with a phase accumulator and a look up table.Mark

Simple Voice for Demo

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

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

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...

Re: Do we have to insert the DC null in OFDM when using RF direct sampling ADC architecture?

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

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...

Re: Problem with natural logarithmic function in fixed point notation

Yes that would work fine.  And honestly 0.3% error is never going to be seen in a noise measurement.

Re: Problem with natural logarithmic function in fixed point notation

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

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

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...

Re: Who discovered the math of the digital polar discriminator?

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...

Re: Who discovered the math of the digital polar discriminator?

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...

Re: Suggested Midterm for a class in Error Correcting Codes

Being the King of careless errors on a test, I would hate you.

Re: How to achieve digital up conversion and digital down conversion in an OFDM transceiver system

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

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. ...

Re: Do we use a Matched filter in an OFDM system for pulse shaping?

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...

Re: Any info on the BER performance of a communication system involving a DUC(Digital Up-Converter) and DDC(Digital Down-Converter)?

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?

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. ...

Re: Fractional rate asynchronous conversion for highly oversampled data

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

Nice thing is this can be implemented with 1 adder and a memory.

Re: CMSIS DSP ARM Complex FFT output arrangement

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

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...

Re: Optimal detector for the frequency hopping modulation

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...

Re: A low sensitivity and limit-cycle-free IIR filter implementation

That's a new one for me.  I'm trying to understand why this works.

Re: FIR filter shortening technique

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

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

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

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

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

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. ...

Re: Synchronising output of Farrow resampler with PPS signal

I agree with you.

Re: Synchronising output of Farrow resampler with PPS signal

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...

Re: Synchronising output of Farrow resampler with PPS signal

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. ...

Re: Synchronising output of Farrow resampler with PPS signal

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...

Re: Synchronizing sampling rates between a device and an audio output

Fred Harris would advocate a poly-phase interpolating filter, but that too is steered by the NCO.

Re: Synchronizing sampling rates between a device and an audio output

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...

Re: Gaussian noise generation using non-pseudo random number generators

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.

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

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

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

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

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...

Re: Why do we do upsampling before convolving the impulse response of filter and transmitted signal

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

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

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

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!

Hey Stephen,Is there a search capability?  Subject, keywords, poster, etc.?Thanks,Mark Napier

Re: Impulse behavior of FIR LP filter

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

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...

Agreed.

Re: Narrow band filter at high rate

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

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

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

...

Re: Suggestions on book for "Fixed Point DSP with C/C++ "

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

Hey Jim,That looks very nice.Thank you for the link,Mark

Re: Suggestions on book for "Fixed Point DSP with C/C++ "

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

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

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...

Re: What is the importance of adding header and tail in OFDM system?

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

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

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...

Re: Applications engineer staff position (candidates wanted)

Absolutely.  Trying to find something within commuting distance of Lawrenceville GA.Cheers,Mark Napier

Re: simple and accurate phase estimation of harmonics in a signal?

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...

Nice!

Re: Applications engineer staff position (candidates wanted)

Pity you aren't in Atlanta.  I'm looking for work...

Re: simple and accurate phase estimation of harmonics in a signal?

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

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

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

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

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

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

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?

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

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

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

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

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

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

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...

Re: Error correction codes: good intuitive theory for FW developpers?

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...

Re: Error correction codes: good intuitive theory for FW developpers?

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

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

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

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

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