Author Topic: Getting DSP basics ?  (Read 6196 times)

0 Members and 1 Guest are viewing this topic.

Offline sangarTopic starter

  • Regular Contributor
  • *
  • Posts: 126
  • Country: in
Getting DSP basics ?
« on: October 17, 2018, 12:11:31 pm »
Hello all,

My project has DSP-TCI6630K2L from Texas Instruments. I know that what DSP is doing in My project. It basically sends I and Q samples to RF transceiver. But, I want to dig that in detail like how it is doing processing, how different blocks give their special...  As this is the first time that I am working with DSP, it is very hard to understand their blocks and their purpose...So, I am looking for some basics about DSP which will help to understand TCI6630K2L...Please suggest if you have any resources...

Thanks,
Sangar
 

Offline ggchab

  • Frequent Contributor
  • **
  • Posts: 292
  • Country: be
Re: Getting DSP basics ?
« Reply #1 on: October 17, 2018, 01:48:01 pm »
I don't know what you want to learn exactly, but I have the book "The Scientist and Engineer's Guide to Digital Signal Processing" by Steven W. Smith and it's a very good one to learn the basics about DSP  :-+
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Getting DSP basics ?
« Reply #2 on: October 17, 2018, 02:35:32 pm »
if it's of any interest, we can upload to the DownTheBunker website a bunch of Matlab files from an old course called "Introduction To Signal Processing"  :-//


edit:
or send me a PM
« Last Edit: October 17, 2018, 02:52:08 pm by legacy »
 

Offline radioactive

  • Regular Contributor
  • *
  • Posts: 173
  • Country: us
Re: Getting DSP basics ?
« Reply #3 on: October 17, 2018, 02:40:08 pm »
 

Offline rhb

  • Super Contributor
  • ***
  • Posts: 3534
  • Country: us
Re: Getting DSP basics ?
« Reply #4 on: October 27, 2018, 11:20:06 pm »
The best book on the analysis side of  DSP is:

Random Data
Bendat & Piersol
4th ed

I spent my career in reflection seismology, so I have about 10-12 ft of DSP books.  Of those, for someone new to the topic I'd recommend:

An Introduction to Digital Signal Processing
John H. Karl
Academic Press 1989
 

Offline GeoffreyF

  • Regular Contributor
  • *
  • Posts: 234
  • Country: us
Re: Getting DSP basics ?
« Reply #5 on: October 28, 2018, 01:50:43 am »
I recommend "Practical Signal Processing" by Mark Owen. Cambridge University Press. Beware of cheap india printed versions.  Diagrams and pictures are essential to understanding the text.  Spend the money for clear good printing.

I also recommend these videos. They are HackRF centric but apply to all things signal processing related.  Michael Ossmann in the videos recommends the above book too.

Somewhat apart from your request but also covering the topic is "When the Uncertainty Principle Goes to 11: Or How to Explain Quantum Physics with Heavy Metal" by Phil Moriarty.   Actually fourier transformation has a whole lot to do with this topic. He explains it rather neatly using Audio processing as an analog for quantum behavior (really - that works).

If you are not super comfortable with the basic math, you will do very well to review complex numbers and trigonometric functions as they apply to Complex numbers. The above texts cover that as well.

You will also learn that signal processing is best when decoding quadrature, that is A-D of the same signals 90 degrees apart in phase.  So you will need dual A-D in your project.

Hope this helps.
US Amateur Extra W1GCF.
 

Offline rhb

  • Super Contributor
  • ***
  • Posts: 3534
  • Country: us
Re: Getting DSP basics ?
« Reply #6 on: October 28, 2018, 03:09:08 pm »

You will also learn that signal processing is best when decoding quadrature, that is A-D of the same signals 90 degrees apart in phase.  So you will need dual A-D in your project.

That's news to me.  Some things are more easily done with the analytic signal,  but in 30 years of professional DSP work, mostly doing bespoke programming, I had only one instance where I used an analytic signal for anything other than obtaining the instantaneous phase and frequency.  However, I did recently use the analytic signal to generate minimum phase impulse responses.  In any case, you do *not* need two ADCs as calculating the quadrature signal is trivial.

The number one requirement for doing DSP is being able to visualize a signal in either the time or the frequency domain *without* actually computing a Fourier transform.

"The Fourier Transform and its Applications" by Ronald Bracewell has a pictorial l dictionary of transform pairs.  There are about a dozen transform pairs that you should know from memory.

You will be very limited if you do not know calculus and thus are unable to read Bendat and Piersol and the other classic DSP texts.  That said, the typical seismic processor probably does not know calculus, though the better ones do.

Octave or MATLAB is an excellent environment for learning DSP.  But the mathematical fine print matters, so it's just a convenience.

 

Offline Marco

  • Super Contributor
  • ***
  • Posts: 7760
  • Country: nl
Re: Getting DSP basics ?
« Reply #7 on: October 28, 2018, 03:30:06 pm »
It seems OP is mostly interested in signal modulation/demodulation, not DSP in general.
 

Offline GeoffreyF

  • Regular Contributor
  • *
  • Posts: 234
  • Country: us
Re: Getting DSP basics ?
« Reply #8 on: October 28, 2018, 03:48:07 pm »


The number one requirement for doing DSP is being able to visualize a signal in either the time or the frequency domain *without* actually computing a Fourier transform.

How does that work without an FFT?  Digital Signal Processing is how someone arrives at the visualizations you reference.   You may not be doing the computation yourself, but it is done none the less.  I am not suggesting someone write yet another signal processing package. I am suggesting that people learn about the technology.

Digital modulation and demodulation is digital signal processing.  How well that works, what it's limitations are has everything to do with fourier transformations and the underling principles of synthesis and desynthesis using Sine functions (including cosine which is simply 90 degrees out of phase).  That's what quadrature is. 

Has anyone ever seen spikes in the frequency domain, or energy in bins of the frequency domain that make little sense?  Read the books and look at the videos I recommend.
US Amateur Extra W1GCF.
 

Offline GeoffreyF

  • Regular Contributor
  • *
  • Posts: 234
  • Country: us
Re: Getting DSP basics ?
« Reply #9 on: October 28, 2018, 03:52:39 pm »
Yes there is more to DSP than Fourier.  However, it is the core of it all, including what drives the data structures.  Why are values in the time and frequency domain complex?   Understanding that is key.  Yes there are different forms of Fourier transforms some with quadrature and some with integers. The reasons are really important.

This also goes to how quadrature amplitude modulation, as used in all spread spectrum schemes, works.
US Amateur Extra W1GCF.
 

Offline rhb

  • Super Contributor
  • ***
  • Posts: 3534
  • Country: us
Re: Getting DSP basics ?
« Reply #10 on: October 28, 2018, 04:50:23 pm »
Yes there is more to DSP than Fourier.  However, it is the core of it all, including what drives the data structures.  Why are values in the time and frequency domain complex?   Understanding that is key.  Yes there are different forms of Fourier transforms some with quadrature and some with integers. The reasons are really important.

This also goes to how quadrature amplitude modulation, as used in all spread spectrum schemes, works.

There is *one* Fourier transform.  There are many algorithms for computing the discrete Fourier transform which is *not* the same as the continuous transform, in fact, the properties are rather different in subtle ways.

There is absolutely *no* requirement for either the time or the frequency domain series to be complex.  Probably the most widely used algorithm is a real to complex transform in place. A signal which is symmetric about 0 (aka "zero phase") is pure real and its transform is also pure real.

Bendat & Piersol is DSP as developed by Norbert Wiener of MIT during the 40's.  Modern DSP is a whole step up from that in terms of mathematical effort.   Wiener's work was originally published in yellow covers to indicate its classified nature.  It was popularly known as "the yellow peril"  because of the difficulty of the mathematics.  It appeared as "Extrapolation, Interpolation  and Smoothing of Stationary Time Series" in 1949.  That was the beginning.

The current state of the art is best presented by "A Wavelet Tour of Signal Processing" 3rd ed by Stephane Mallat and "A Mathematical Introduction to Compressive Sensing" by Foucart and Rauhut.  Those two make "the yellow peril" look like child's play.

I've attached a page from Mallat to give some idea of what can be done now.  And it's actually not all that sophisticated relative to other operations.  But it's a great figure.

If you know that the transform of a spike is a constant. That a rectangular window is sin(x)/x and a dozen or so other common transforms you can analyze and design DSP flows on the back of a bar napkin or on an office whiteboard.  Because a vast range of signals can be broken down into the sum of a collection of simple series, you can do some very sophisticated analysis without ever bothering to compute the transform. It's not uncommon that the only reason for computing the DFT is it's easier to let the computer draw the figures for you.  You actually have already solved the problem.  The DFT is just for documenting the answer.

Far more important to DSP than the Fourier transform is understanding that multiplication in one domain is a convolution in the other. And this holds true even if you do not use a Fourier transform, but some other integral transform kernel of which there are many.  Enough that even a cursory survey is two semesters of upper level graduate mathematics. "Operational Mathematics" by Ruel Churchill is arguably the best treatment.
 
The following users thanked this post: 1uk3

Offline GeoffreyF

  • Regular Contributor
  • *
  • Posts: 234
  • Country: us
Re: Getting DSP basics ?
« Reply #11 on: October 28, 2018, 05:45:30 pm »


There is *one* Fourier transform.  There are many algorithms for computing the discrete Fourier transform which is *not* the same as the continuous transform, in fact, the properties are rather different in subtle ways.

There is absolutely *no* requirement for either the time or the frequency domain series to be complex.  Probably the most widely used algorithm is a real to complex transform in place. A signal which is symmetric about 0 (aka "zero phase") is pure real and its transform is also pure real.

We are confusing Fourier Transform (there is only one) with Fast Fourier Transform which is the algorithm on which most software is based.  If you look in any DSP Library you will find there are more than one and that there are other functions included in a complete DSP library.

There is no absolute requirement for quadrature. That's true.  However, there are good engineering reasons for quadrature.  I suggest you find out what they are. As for Wavelets - how do you think they are implemented?  By the way, I've read the other recommended books here.  I wonder if others really have.
US Amateur Extra W1GCF.
 

Offline rhb

  • Super Contributor
  • ***
  • Posts: 3534
  • Country: us
Re: Getting DSP basics ?
« Reply #12 on: October 28, 2018, 09:33:55 pm »
I have been particular about distinguishing between the continuous Fourier transform and the discrete version.  As for FFT and DSP algorithms, I maintained several million lines of other people's seismic processing codes for many years.  In most instances, Dave Hale's prime factor code from the CWP/SU corpus is the fastest FFT.  I remember when the FFTW guys compared all their algorithms to Dave's.  If you're familiar with FFTW, "wisdom" is for setting up to use Dave's code which is now part of FFTW.

There is no such thing as a "complete" DSP library and never will be.  If you ever built one it would be incomplete within a few months.

Seismic processing was the first commercial application of DSP.  Wiener's student, Enders Robinson spent an entire summer deconvolving a single seismic trace in the 50's by hand as a member of the Geophysical Analysis Group at MIT.


There is no absolute requirement for quadrature. That's true.  However, there are good engineering reasons for quadrature.  I suggest you find out what they are. As for Wavelets - how do you think they are implemented?  By the way, I've read the other recommended books here.  I wonder if others really have.

The "I suggest you find out what they are." is just a tad condescending.  Perhaps you'd be so good as to enumerate a few.

There certainly are reasons for using quadrature.  Not being able to get an ADC fast enough being the leading candidate.  But there are also situations in which it is completely irrelevant.  I can make no sense of your Wavelet comment.  I can think of several ways to implement a wavelet transform and a large number of wavelet bases.  Were I to implement a wavelet transform today I would use a sparse L1 pursuit, probably basis pursuit as it has better global properties than matching pursuit.

You've read Mallat and Foucart and Rauhut?  If you've read the latter I'd  like to chat on the phone. I've read Foucart and Rauhut twice and Mallat once. After that I started reading the original papers by Donoho, Candes, et al.   I've  read all the  books I mentioned, but never even heard of those mentioned by others.  But I learned DSP 35 years ago, so I have no reason to look at recent intro to DSP books.

The oil industry probably uses more CPU cycles doing DSP than any other sector.  But comparisons are difficult because the military and others use DSP chips whereas seismic tends to be exclusively general purpose CPUs.  A friend spent $250K having a single algorithm implemented on an FPGA and a GPU. They were faster, but not by the factor of 10 that was needed to make it worth the cost of a full port of the algorithm to either platform. 

This is 10,000 core, 20 TB dataset  processing runs that last 7-10 days.  There are warehouses all over Houston crammed with racks of x86 machines that run 24 x 365.  A 50,000 core installation is probably roughly the max for a single location.  Electrical and cooling requirements make larger installations impractical.   But we're not doing real time.  Processing one of these datasets end to end is 6 to 9 months or more of work.  Acquiring the 20 TB of data may take several months especially if it's in the Gulf of Mexico during hurricane season and shooting has to be suspended because of the sea state.
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 30386
  • Country: nl
    • NCT Developments
Re: Getting DSP basics ?
« Reply #13 on: October 28, 2018, 10:19:14 pm »
Hello all,

My project has DSP-TCI6630K2L from Texas Instruments. I know that what DSP is doing in My project. It basically sends I and Q samples to RF transceiver. But, I want to dig that in detail like how it is doing processing, how different blocks give their special...  As this is the first time that I am working with DSP, it is very hard to understand their blocks and their purpose...So, I am looking for some basics about DSP which will help to understand TCI6630K2L...Please suggest if you have any resources...
Your question is wildly vague. How about the documentation (application notes) from TI to understand the chip and software development environment you are working with?
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline Howardlong

  • Super Contributor
  • ***
  • Posts: 5525
  • Country: gb
Re: Getting DSP basics ?
« Reply #14 on: October 31, 2018, 07:57:36 pm »
I agree, that’s a complex SoC device, not a great start for learning DSP IMHO, but TI should be the first port of call.

The best device for learning DSP is probably on your PC, where for most narrowband things you don’t have to worry too much about performance.

For narrowband, you can use a stereo sound card for the analogue baseband signals, and develop any real time algorithms there much more easily than trying to do it on an unfamiliar device.

I’d treat it as two completely separate tasks, learning DSP on your PC, and learning how to use the SoC device. Trying to do both at the same time is going to be hard work.

Pretty much all of my DSP algorithm development is done natively on a PC first, and then ported, with a bit of platform specific tweaking in the bottlenecks as necessary. If you can’t get it to work on a PC, it certainly won’t work on your hardware.
 

Offline Sal Ammoniac

  • Super Contributor
  • ***
  • Posts: 1811
  • Country: us
Re: Getting DSP basics ?
« Reply #15 on: November 02, 2018, 09:40:24 pm »
I don't know what you want to learn exactly, but I have the book "The Scientist and Engineer's Guide to Digital Signal Processing" by Steven W. Smith and it's a very good one to learn the basics about DSP  :-+

This is a very good book on DSP and is available as a free download: http://www.dspguide.com/pdfbook.htm

"That's not even wrong" -- Wolfgang Pauli
 

Offline Howardlong

  • Super Contributor
  • ***
  • Posts: 5525
  • Country: gb
Re: Getting DSP basics ?
« Reply #16 on: November 03, 2018, 05:48:19 pm »
To add to the book list, one I’ve used and continue to do so is Richard Lyons’ Understanding Digital Signal Processing, which is well balanced in terms of practical application vs academic opacity, all to often publications of this sort are texts designed to support an academic theorist’s course and bank balance, and are not particularly comprehensible as a result. Worse are the texts full of nothing but “look at how clever I am” pages and pages of equations with zero end to end practical application.

For a text I found useful on practical modulation and demodulation, “Wireless Digital Communications: Design and Theory” by Tom McDermott is very approachable despite the “theory” part of the title. It’s not very long, but has the most approachable coverage of concepts like matched filters that I’ve come across.
 

Offline rhb

  • Super Contributor
  • ***
  • Posts: 3534
  • Country: us
Re: Getting DSP basics ?
« Reply #17 on: November 03, 2018, 08:07:31 pm »
Creating .WAV files of signals and processing them with Octave or MATLAB is the best way to gain an understanding of DSP.

With soundcards, an excellent exercise is to develop filters to correct for the errors in the soundcard channels.  This has the very nice side benefit  that with a high end soundcard you will then have a very high quality audio analyzer.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf

 

- - -
-->