I love math and physics, learned DSP and embedded systems to do math and physics, and found FPGA's a hell of a lot of fun. I graduated in 1982 with a PhD in nuclear engineering and have been programming in assembler and C ever since.

My basement is covered with power lines and florescent lights which makes collecting ECG and EEG data rather difficult due to the 60 cycle hum. I found the following notch filter to work very well at eliminating the background signal without effecting the highly amplified signals I was looking for.

The notch filter is based on the a transfer function with the form $$H(z)=\frac{1}{2}(1+A(z))$$ where A(z) is an all pass filter. The original paper [1] describes a method to...

The other day I was downloading an IDE for a new (to me) OS. When I went to compile some sample code, it failed. I went onto a forum, where I was told "if you read the release notes you'd know that the peripheral libraries are in a legacy download". Well damn! Looking back at my previous versions I realized I must have done that and forgotten about it. Everything changes, and keeping up with it takes time and effort.

Fixed point fractional representation always gives me a headache because I screw it up the first time I try to implement an algorithm. The difference between integer operations and fractional operations is in the overflow. If the representation fits in the fixed point result, you can not tell the difference between fixed point integer and fixed point fractions. When integers overflow, they lose data off the most significant bits. When fractions overflow, they lose data off...

Everything in the digital world is encoded. ASCII and Unicode are
combinations of bits which have specific meanings to us. If we try to
interpret a compiled program as Unicode, the result is a lot of garbage
(and beeps!) To reduce errors in transmissions over radio links we use
Error Correction Codes so that even when bits are lost we can recover
the ASCII or Unicode original. To prevent anyone from understanding a
transmission we can encrypt the raw data...

Yes, and web searching shows Arrow has it as a reference design, but not as a purchasable part. So do you have to build the board and order the parts then assemble...

I have never heard of Asahi Kasei Micro before, so thank you for pointing out their web site. A site search turns up nothing on that chip for eval board or tools....

I've never worked with that processor or debugger, but looking at the data sheets for both it sure looks like you can do both at the same time. It looks like CCS7...

The short answer is yes. Knowing architecture will allow you to pick out the right device for any particular application. To paraphrase Sun Tzu: If you understand...

It's having the same clock that's important. The same LO means all the signals are in phase - the analog version of a digital clock that is distributed to all...

This is simple aliasing. Your output is 4 compared to the input of 5 or 10 (MHz). 4 and 5 have no common factors and are relatively prime, and even a touch of...

It's been a very long time since I worked with CCS. I'm betting if you go line by line and explain what you are doing to someone else, you'll see your mistake...

To debug something like this you should check that each step does what you expect. Instead of random data, use a fixed pattern like alternating 1 0 1 0. You...

I don't know anything about the routines, but if it were me, I would print out the coefficients from each program and compare them. One thing you might do is print...

Without a deep dive into the math I can't see anything wrong with your process. Should get you close.As for "huge influence" it depends on how much signal to noise...

I don't think you can just shift the frequency and subtract. In the attenuator your signal is in the 78 GHz range. After the mixer your signal is in the 1 GHz...

It's the right idea, but life isn't that simple. S parameters are complex numbers, so you have amplitude and phase. What you measure is the sum over all the...

How many receivers do you have? I would think tracking multiple sources would require multiple receivers so you at least have some time delay to work with. Can...

It will be worth your time to figure out which step in the proof loses your comprehension. "Abstraction" just means a higher level of meaning - with lots of details...

Exactly! $atan(x)=\pi - atan(1/x)$ So the term "twisted" implies a positive rather than negative shift. "Reflected" is a better term.The gain in the EVM should...

The purpose I & Q is to keep track of phase. If you swap real and imaginary you just twist the phase by 90 degrees. The amplitude is still the same. The...

I would go the other way myself. Connect the jtag pins from the development board to the DSP board and disconnect power to the eval board chip. The main problem...

The DSPic33CK series from Microchip is a 100 Mips processor so it can do some analog filtering. The ADC's are in the 3 MHz range, so it's plenty fast enough to...

That's great! It's a major pain of course because you're not getting the simple answer quickly, but understanding how all the programs actually work and why they...

I'm not very familiar with Matlab. In some coding I've been doing I found "long double" is a 128 bit float. Can you tell Matlab to use more bits? Your description...

You can't really do a parallel system because each output feeds into the next input. But you can build a pipeline so that each clock does multiple things. Expand...

You just need notch filters centered at your frequencies you want to eliminate - I assume by "minimize" you mean to cut them out. If you are trying to find signal...

Is that talking about voiced vs voiceless consonants? https://campusweb.howardcc.edu/ehicks/YE618/Master...Or harmonic vs non-harmonic content? The question is...

An MLS by definition is not periodic. The instructions in that paper are 1) Generate an MLS sequence at least as long as the impulse response and 2) Stimulate...

Instead of random, use sine wave data. Combine 2 different frequencies 90 degrees offset from each other and centered on your bins - you should get one real and...

It's just a precision issue. For values smaller than +/-10^-10, substitute 0.0 and then feed it to your phase calculator. Mantissa in double precision is 54...

I'm a little confused now - is the -70dBm the maximum input limit? Then it makes sense because you have 88.2 dB range on a -70 dB peak.I don't think you mean...

You'd have to compute the LSB of the user selected gains and compare that to the -152dBm level. Your offset will be the the distance from the LSB of the user to...

Also look at Software Defined Radio. Your FPGA background will be useful for that. Focus on the basics of signal processing and you can do anything. The math...

The first thing you do is get the data sheet and look at the schematics: https://www.analog.com/media/en/technical-document...And then you cut out of the schematic...

I would try mirroring the data so you have samples 0->280 followed by 280->0. Since it's in the frequency domain that's equivalent to positive and negative...

I got a PhD in nuclear engineering. I've spent the last 40 years doing E.E. work, all pretty much self taught. I've also been told "you can't have a PhD, you...

I'm not familiar with Hilbert Spectra. But I'll point you at "Analysis and Design of Autonomous Microwave Circuits" chapter 3 "Bifurcation Analysis". There are...

I think you should start with your summary. Being nervous is a good thing, it helps you stay alert. If you can type up a bullet point list of what you intend...

I'm in Wisconsin USA, just south of Canada. I'm doing a lot more damage via remote access than I normally do on site. I've had the IT guys reboot the main server...

From an energy perspective I don't see how you can cut out the jamming signal. You can cut out a band pass to only look at your region of interest, but if the...

Thank you for showing this! I found that right clicking on the equation and selecting "show math as" and "tex commands" shows me what you are talking about. ...

Just take the FFT of your function. The convolution of two functions in the time domain is the same as the multiplication of two transforms in the frequency domain. ...

You might want to read this: https://www.scientificamerican.com/article/multifr... which is closer to modeling the properties of the stock market. Wavelet analysis...

There's no need to condition the input array. Doing so would be a convolution with the conditioning window and the Z() function. There are different approaches...

The impulse is like Dirac's delta function, a single zero crossing is a first derivative of the delta function, and more crossings are higher derivatives. So a...

Just change when you look at it. If you start looking at it when the signal crosses 0 amplitude (or mean) and it is rising, you have phase zero. If it crossed...

How software can tell you have a "wiring error" is pretty amazing. Have you done a simple LED blinky program? If so, start with that and add one small piece...

I don't know the assumptions that went into the derivation of that formula, but yes - methods don't matter. It is an information theoretical limit.And yes - higher...

The equation doesn't care how the noise over rides the signal. It's just a reference to signal/noise. Nominally noise is Gaussian, but that doesn't matter either. ...

I did - you didn't understand. I'm sorry I can't explain it better because it seems so trivial (and it's wrong too, so really there's no point). If you set a...

I think your time is better spent figuring out how a window works and how time domain to frequency domain transitions work with fixed parameters. Take a sine wave...

The idea is to use a 1x1 square. If it sits on 2 bins b and b+1 then fraction f is put into bin b+1 and fraction 1-f is put into bin b. This is wrong on many...

That's where the windowing comes in. If you have a theoretical impulse, it has zero width and infinite height. But we can't do anything with that, so for modeling...

OK - so the trivial way I suggested the first time is to use the index you know the impulse happens at as the weight distribution. Assume the amplitude of the...

You got the right idea. The simplest way is to split it between 2 bins. With amplitude one, you put .64 in bin 3 and .36 in bin 4. The same happens in reverse...

In addition to the previous comments, I'd point out that the resolution of the sine function itself is a problem to think about. No matter what the argument is,...

This would be a good application for wavelet analysis. You know what the source signal looks like, and you're looking for a similar wave shape, but different. ...

There is more to "resolution" than bin size. Suppose you want to measure the center of a specific peak. If you take 10 measurements and then average all of them...

Your description leaves me a bit confused. Even with dispersion, you will have the same number of reflections at all frequencies even in a stadium. If you know...

First time it did not put out as an equation. So I removed the space after the first $$ and before the last $$ and then it worked. I had an error in the first...

Andrew,I think a good place to start would be Linear Algebra. The whole first section of that book is "Background", and all the math is based on the concept of...

Doing really well - having fun building processor boards. Not much DSP work, but lots of signal integrity. Kind of the same thing, just a lot higher frequency...

It's possible the memory map is different too. Start looking at the linker command files. It tells the compiler where to put code, where peripheral space is...

Howdy Arj,Check out this page: https://download.analog.com/tools/SWExamples/all_e...I think there is a package of sample code there for that EZKIT. Look at the...

It's an excellent demo of phase! Each string is slightly longer as it gets closer to the camera, so the frequency of oscillation of each ball is slightly different. ...

So combining the other answers so far, the first step would be to break up your original filter into 3 cascaded second order filters. Then cascade 50 of those. ...

One of the best ways to find a dumb mistake is to answer some dumb questions (I haven't got a clue what you want to do, so I'm the one asking the dumb questions.) ...

I think the word NEW is poor choice. From the diagrams it looks like it's the same filters. I'm not familiar with how this works, but since the output has the...

Use the time before or after the chirp to compute the noise level. As long as you know t1 and t2, you can get the amplitude of signal + noise. So your SNR is...

Once you understand the difference in the digital domain between an iir and fir you can pretty much do any kind of analog model you want. Filters are subtractive...

Yes, it's very useful. Think of the frequency response of the control system - that's just signal processing. All you learned about filters applies to sensor...

That's really good for estimating what a fixed point processor will do. I just assumed all Matlab routines were float - so being able to see the round off errors...

Looks more like +61 dB to me (I don't know Matlab though). I think the problem is related to the size of numbers. You show 18 bit length, 2^18 ~ 8x10^5 which...

I worked with Bill Rhode a couple of decades ago (well, pretty close to that) so I found an article with his name and otoacoustic: http://acousticstoday.org/electromotility-history-......

Traveling wave tubes have been around for a very long time. They stay around because they can get to very high power levels. Here is a recent article you might...

14 equations per page is too much. I suspect I would have slept through that lecture! All the technical papers I have on my desk have 5 to 7 per page, and these...

I love math, and the higher the equations to text ratio the better. But that is definitely because I intend to become an expert in whatever it is I'm learning...

You only have 4 samples per symbol. It makes sense that your eye diagram would look poor. Up your sample rate to 4.096 MHz so you have 16 samples per symbol. ...

Real messages are finite. I guess I don't see the point of a theoretical description when you can do millions of autocorrelation examples per second with something...

On the web page for the 4b3t it says "Decoding is simpler, as the decoder does not need to keep track of the encoder state". That would imply you can build a 16...

Start here:http://www.ti.com/general/docs/litabsmultiplefilel...Use the phrases you find in that document to search the web for more documents. This is not a simple...

Mark,What is the data format in and out of the call? It looks like a factor of 2 in a pointer is wrong. If not, then the FFT routine has a major bug. Rick's...

I'm not familiar with the arm version, but looking at your plots my first guess is 7 + 17 = 24 which implies the 17 is really -7. Look at how you are doing the...

I'm not familiar with this kind of home work problem, but it's a nice one. Suppose you feed each sine wave one at a time into the nonlinear device - what happens? ...

Look at page 45 Figure 137. That is the 2x interpolation filter. I think it means you can update the DAC twice as fast as the input clock by changing the data...

No, polynomial curve fitting can be done using arbitrary time steps. I would suggest mapping the time into a single value. For example, UNIX uses time from January...

You are getting 1 sample every 5 seconds so you have lots of time to do fancy things. A polynomial curve fit of order 4 or 5 will be easy in R and give you about...

There are a lot of answers. First, how much history do you have (or want)? How fast a response do you need? If you have a lot of data and lot of time, the whole...

I always screw up my kids when I try to help with their MATLAB homework, so hopefully somebody else here can help with that part. But it sounds like you are not...

Say you have two channels. You want to switch power from channel 1 to channel 2. You start by multiplying by \( p = \cos(2\pi f \Delta t) \) for channel 1 and...

You've noticed they are the same expression, so \( a_k=X_k/\sqrt N \). Forward and inverse is a matter of sign choice. You can choose forward with a + sign in...

I've had the home version of Mathematica for at least 5 years, and it is nice now and then. But I tend to write a lot of code in C instead of using the tools because...

I don't understand the problem. You know the x/y offset and you have some reference that also allows you to know rotation. I assume the rotation is around the...

There is no understanding of DFT before digging into math - it is all math. And like the other replies here, looking at problems with the math as a root allows...

No, I think you need the full factor of 12 so it's up by 4 (and obviously it does not matter if you change the order of 3 and 4). Otherwise it would be 2e6/125=16e3...

Another way to look at is the common multiples. 2e6/192e3 = 125/12. So you can up sample by 12 then decimate by 125. This can be done in multiple steps so...

As a once upon a time high energy physicist and now radar cowboy I am having a very hard time typing because I'm laughing so hard. There are a lot of cats in a...

Intuition and math takes a lot of practice. My favorite story is about a professor when asked if something was "obvious" - he walked out of the lectured with his...

I think the easiest way to see this is to first assume L and M are not relatively prime. Suppose L = rp and M = rs with p and s relatively prime. Then e^(-j2pi...

Check out page 22 of this: http://www.telecom.tuc.gr/Greek/Liavas/Seminars/co...You are not removing bits of data, you are just not sending a code word. Code words...

You basically just have to replace the LSB of every image pixel with your message data. Is it Black & White or Color? If color, you have to decide if you...

I've never heard of NodeJS before, so a wiki read tells me it is relatively new as a stable web serving platform. Matlab is more of a single user platform. It...

Interesting problem. You first have to find the beam pattern. This will be a function of the spacing, the curve and the wavelength. That will be a hard problem...

Making sense can also be wrong :-) It is possible you are right, and the book has a typo - that happens to every author. But there are 2 steps in the filter...

Computational efficiency comes from two places - when you down sample you can skip over blocks of data so you only apply your filter every M samples and second from...

The reason to use a sync function is because it is the Fourier transform of a square function. So if you multiply by the the sync and then do an FFT you get a...

Hi Steve,Check out this page: https://casper.berkeley.edu/wiki/The_Polyphase_Fil...I don't see the sync function multiply in your code, but I don't understand your...

I just did a web search using "sonar ray trace" and got a lot of nice papers:http://link.springer.com/chapter/10.1007/0-387-234...http://www.researchgate.net/profile/Jens_Hovem/pub...This...

Can you use a ray tracing method? Go from the reflection points back towards the sensor and determine if it is blocked. If you do enough rays you will get an...

It sounds like a statistical problem. You have to look for hysteresis from previous states as well as the short history. I would plot a history of states coded...

The one you missed is Golay code. It is a "perfect" code that uses 24 bits. It is ideal for your application. Start with Wikipedia and expand from there:https://en.wikipedia.org/wiki/Binary_Golay_codehttps://www.usna.edu/Users/math/wdj/_files/documen...The...

Phase is relative to something that repeats, so if you know how often you get to the same phase point, you can measure the time and derive the frequency. Usually...

What you want is an "all pass filter". It can shift specific frequencies by a specific phase. Here's the first web hit I found: http://www.edn.com/electronics-blogs/living-analog......

I think the answer has to be yes, but you have to be careful with how you scramble the data. You would do the first and second half blocks with elements (0..255)...

There is more to it for the full algorithm, the point is really to get rid of the lowest frequencies and the process uses a sweep of filter length so the "frequencies...

You're making me understand what I'm doing - I suppose that's a good thing! Actually it's non causal. The data sample is in the middle of the filter. So an entire...

Yeah, I think that's true. Maybe Rick has it backwards from what he remembered? Because this works (i.e. lowpass -> highpass). Either that, or this is an...

Agreeing with everybody else, I am using something like that in a project now. It's a moving average filter which is then subtracted from the input to remove the...

Physics makes the statement "restoring lost high-frequency components" impossible. Lost is lost. It's kind of like free energy and perpetual motion. Entropy...

I really can't help much, but this is a cool problem to look at. You are 2.4 dB down from where you expect to be, that is sqrt(2) factor. You have 2 channels...

I'm not sure I understand the question. Your transmitter is creating each symbol with 5 data points. Your receiver is detecting each symbol with 20 data points. ...

I have never used FDATool, it looks like it expects a single real signal for input. If your output is complex, I assume that means it is a quadrature signal. Your...

You have the right idea. The advantage of doing decimation in stages is that the first few stages can be "sloppy" - you need a few terms with a slow roll off. ...

A long, long time ago my brother and I created a debugging tool for the SHARC processors which included an assembler. If there is enough similarity I'll be happy...

I would look at steepest descent (also called gradient descent) and "genetic search". The first is a good math algorithm which you can modify to work in real...

Use this form to contact drmike

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