DSPRelated.com
Forums

Recreating Undersampled Data

Started by Rob Gaddi May 17, 2017
rickman  <gnuarm@gmail.com> wrote:

>Ok, so you have gone off the rails. You aren't talking about the OP's >problem. You are discussing how many angels can dance on the head of a >pin.
No, I am talking precisely about the OP's problem.
>Just so I understand clearly, if you apply your delta convolution, are >you suggesting you then filter this analog signal through an analog filter?
You could do this, yes. Although implementing this, or approximately this with digital filters is more practical.
>Notice early in this post you say, "I think you're suggesting the >following:" That is NOT what I am suggesting.
Okay.
>If you really want to play games with something other than the ADC >sampling of the OP, I'm not particularly interested, at least not unless >you explain this clearly. What is the point?
The point is I am answering the OP's question with a practical suggestion. Geezus. S.
On 5/18/2017 9:50 PM, Steve Pope wrote:
> rickman <gnuarm@gmail.com> wrote: > >> Ok, so you have gone off the rails. You aren't talking about the OP's >> problem. You are discussing how many angels can dance on the head of a >> pin. > > No, I am talking precisely about the OP's problem. > >> Just so I understand clearly, if you apply your delta convolution, are >> you suggesting you then filter this analog signal through an analog filter? > > You could do this, yes. Although implementing this, or approximately > this with digital filters is more practical. > >> Notice early in this post you say, "I think you're suggesting the >> following:" That is NOT what I am suggesting. > > Okay. > >> If you really want to play games with something other than the ADC >> sampling of the OP, I'm not particularly interested, at least not unless >> you explain this clearly. What is the point? > > The point is I am answering the OP's question with a practical > suggestion.
But you are not. You are working in the continuous domain and drawing conclusions that are absurd in the OP's problem. You *specifically* excluded the digitally sampled signal the OP is asking about. "Now -- this continuous time signal is the sampled, but not digitized version of the original signal." I have no idea what you are thinking at the moment. -- Rick C
rickman  <gnuarm@gmail.com> wrote:

>> The point is I am answering the OP's question with a practical >> suggestion.
>But you are not. You are working in the continuous domain and drawing >conclusions that are absurd in the OP's problem. You *specifically* >excluded the digitally sampled signal the OP is asking about.
No, I did not. Upthread I wrote (and you whined about) this:
>>> I would try something like:
>>> 1) Interpolate to a higher sample rate (say, 100 Ms/sec) by >>> zero-insertion.
>>> 2) Put this through a bank of bandpass filters with center frequencies >>> n * (2 1/16) MHz for integers n = 1, 2, 3 ....
>>> 3) Sum these filtered signals and you should get a version of >>> your original triangle wave.
It was only because of your request for more detail that I broke down the problem into the components of sampling followed by digitizing, in an effort at getting through to you.
>"Now -- this continuous time signal is the sampled, but not digitized >version of the original signal."
>I have no idea what you are thinking at the moment.
I am sorry you cannot follow my suggestion, but it's really not all that advanced -- it's working with the basics of sampled signals. Steve
On 5/18/2017 10:03 PM, Steve Pope wrote:
> rickman <gnuarm@gmail.com> wrote: > >>> The point is I am answering the OP's question with a practical >>> suggestion. > >> But you are not. You are working in the continuous domain and drawing >> conclusions that are absurd in the OP's problem. You *specifically* >> excluded the digitally sampled signal the OP is asking about. > > No, I did not. Upthread I wrote (and you whined about) this: > >>>> I would try something like: > >>>> 1) Interpolate to a higher sample rate (say, 100 Ms/sec) by >>>> zero-insertion. > >>>> 2) Put this through a bank of bandpass filters with center frequencies >>>> n * (2 1/16) MHz for integers n = 1, 2, 3 .... > >>>> 3) Sum these filtered signals and you should get a version of >>>> your original triangle wave. > > It was only because of your request for more detail that I broke down the > problem into the components of sampling followed by digitizing, in > an effort at getting through to you. > >> "Now -- this continuous time signal is the sampled, but not digitized >> version of the original signal." > >> I have no idea what you are thinking at the moment. > > I am sorry you cannot follow my suggestion, but it's really not > all that advanced -- it's working with the basics of sampled signals.
It's not an issue of "advanced". You start in an alternate domain and then try to extrapolate. Why not just work in the correct domain to start with? You mentioned filtering "aliases" above 500 kHz in a 1 MSPS system. In the OP's domain this makes no sense since there is no content above 500 kHz. Filtering is not needed or possible. Nothing is needed to reconstruct the data other than viewing it in a time sequence as I have described. -- Rick C
rickman  <gnuarm@gmail.com> wrote:

>On 5/18/2017 10:03 PM, Steve Pope wrote:
>> I am sorry you cannot follow my suggestion, but it's really not >> all that advanced -- it's working with the basics of sampled signals.
>It's not an issue of "advanced". You start in an alternate domain and >then try to extrapolate. Why not just work in the correct domain to >start with?
The "correct" domain is the one that gets to a good answer to the OP's requirement.
>You mentioned filtering "aliases" above 500 kHz in a 1 MSPS system. In >the OP's domain this makes no sense since there is no content above 500 >kHz. Filtering is not needed or possible.
Yeah, you know, one of the basics of sampled signals is that when you uniformly sample a signal, the components of that signal then become aliased repeatedly up to infinity. Are you denying that these aliases exist in the continuous-time, sampled signal; or that once the discrete-time sampled signal is upsampled they exist again in the resulting discrete-time, upsampled signal up to the new Fs/2? What do you mean "filtering is not possible"? Do you not believe there is a component at 2.0625 MHz that one can grab with a filter?
>Nothing is needed to reconstruct the data other than viewing it in a >time sequence as I have described.
You haven't explained how the signal at 0.0625 MHz can have the attributes the OP needs. It's at the wrong frequency. The OP said very clearly multiple times they'd like a waveform that looks like the original 2.0625 MHz periodic signal. Steve
On 5/19/2017 1:20 AM, Steve Pope wrote:
> rickman <gnuarm@gmail.com> wrote: > >> On 5/18/2017 10:03 PM, Steve Pope wrote: > >>> I am sorry you cannot follow my suggestion, but it's really not >>> all that advanced -- it's working with the basics of sampled signals. > >> It's not an issue of "advanced". You start in an alternate domain and >> then try to extrapolate. Why not just work in the correct domain to >> start with? > > The "correct" domain is the one that gets to a good answer to > the OP's requirement. > >> You mentioned filtering "aliases" above 500 kHz in a 1 MSPS system. In >> the OP's domain this makes no sense since there is no content above 500 >> kHz. Filtering is not needed or possible. > > Yeah, you know, one of the basics of sampled signals is that when > you uniformly sample a signal, the components of that signal then > become aliased repeatedly up to infinity.
Is it not true that a sampled digital signal has no content above 0.5 Fs?
> Are you denying that these aliases exist in the continuous-time, > sampled signal; or that once the discrete-time sampled signal is > upsampled they exist again in the resulting discrete-time, upsampled > signal up to the new Fs/2?
I'm not discussing a sampled continuous time signal because it is not relevant to the topic of the digital system the OP has. In a discrete-time sampled signal there is no content above 0.5 Fs. Everything is aliased into that frequency range.
> What do you mean "filtering is not possible"? Do you not believe > there is a component at 2.0625 MHz that one can grab with a filter?
You can't filter something that isn't there. Please provide coefficients that will act on signals above 0.5 Fs in a discrete-time sampled signal.
>> Nothing is needed to reconstruct the data other than viewing it in a >> time sequence as I have described. > > You haven't explained how the signal at 0.0625 MHz can have the > attributes the OP needs. It's at the wrong frequency.
The frequency of the signal is known, 2.065 MHz. All you need to do is treat content of the viewed signal as being 2 MHz higher.
> The OP > said very clearly multiple times they'd like a waveform that looks > like the original 2.0625 MHz periodic signal.
That's not what I read. "I'd like to get a visualization of approximately what the input waveform looked like." I am explaining that he doesn't need to upsample the signal to look at it like an oscilloscope signal. If the sampled signal is viewed in the time domain it will "look like" the original signal as much as is possible given the extreme under sampling missed data. -- Rick C
rickman  <gnuarm@gmail.com> wrote:

>On 5/19/2017 1:20 AM, Steve Pope wrote:
>> Yeah, you know, one of the basics of sampled signals is that when >> you uniformly sample a signal, the components of that signal then >> become aliased repeatedly up to infinity.
>Is it not true that a sampled digital signal has no content above 0.5 Fs?
In discrete time, the frequency components are defined from 0 to 0.5 Fs. The same signal, viewed as a continuous time signal, has repeating frequency components up to infinity.
>I'm not discussing a sampled continuous time signal because it is not >relevant to the topic of the digital system the OP has.
It's relevant in explaining why a component at 2.0625 MHz exists, and can be recovered.
>> What do you mean "filtering is not possible"? Do you not believe >> there is a component at 2.0625 MHz that one can grab with a filter?
>You can't filter something that isn't there.
It's there, dude. I've explained several times how to get it and why it's there. As I said, this is basic sampled signals theory. Steve
On 5/19/2017 2:58 AM, Steve Pope wrote:
> rickman <gnuarm@gmail.com> wrote: > >> On 5/19/2017 1:20 AM, Steve Pope wrote: > >>> Yeah, you know, one of the basics of sampled signals is that when >>> you uniformly sample a signal, the components of that signal then >>> become aliased repeatedly up to infinity. > >> Is it not true that a sampled digital signal has no content above 0.5 Fs? > > In discrete time, the frequency components are defined from 0 to 0.5 Fs.
Not defined... that is what exists. Any information about signal frequencies above 0.5 Fs has been lost. They are converted to aliases in the range 0 to 0.5 Fs.
> The same signal, viewed as a continuous time signal, has repeating > frequency components up to infinity. > >> I'm not discussing a sampled continuous time signal because it is not >> relevant to the topic of the digital system the OP has. > > It's relevant in explaining why a component at 2.0625 MHz exists, > and can be recovered.
You have acknowledged the signal is *not* there in the ADC data.
>>> What do you mean "filtering is not possible"? Do you not believe >>> there is a component at 2.0625 MHz that one can grab with a filter? > >> You can't filter something that isn't there. > > It's there, dude.
It is not there as you have acknowledged above. You can recreate it, move it or whatever, but once the signal is aliased by under sampling, the information required to reconstruct it is lost. This is a special case where you have a priori knowledge that lets you pick an image for reconstruction. Basic sampled signals theory says the information is gone. If I hand you a file of a signal and ask you to reconstruct it, if you don't know it is a 2.065 MHz signal, you can't reconstruct it.
> I've explained several times how to get it > and why it's there. As I said, this is basic sampled signals theory.
Above you acknowledged the ADC output does not contain any information above 0.5 Fs. He is working with this data. Sure, you can do things to move the signal to other frequencies. The point is *why* bother with any of that if a time display of the data he has shows the waveforms exactly the way he wants to view them? The only reason why you can reconstruct the signal at 2.065 MHz is because there is no interfering signal when it is aliased down to 0.065 MHz. In the general case once the signal is aliased down it can no longer be separated from other signals aliased to the same frequency. So you use this special knowledge of this particular signal to reconstruct it by any of various means. One of those means is to simply view the data with the appropriate adjustment to the time frame. This is as effective as any other means and is much simpler. I was visualizing this in my mind and realized the adjustment to the time base is equivalent to up sampling and filtering. I won't try to reconstruct the filter this implies, but I bet it ends up be very similar if not equivalent to what you are proposing. It's just a WHOLE lot simpler to implement. -- Rick C
On Thursday, May 18, 2017 at 4:09:29 PM UTC-4, eric.j...@ieee.org wrote:
> On Thu, 18 May 2017 12:42:18 -0700 (PDT), makolber@yahoo.com wrote: > > > > >> > >> I'm going to say there are aliases are 0.0625 MHz, and 1 + n * 0.0625 MHz > >> for all non-zero integers n. > >> > > > >i think the already mentioned (under)sampling oscilloscope is the better > >analogy for this question. > > > >i.e. the time domain rather than the frequency domain > > > >an (under)sampling scope doesn't need to know the shape of the waveform, it needs to know only that the waveform is repetitive. > > Ideally it needs to know the frequency, or, better yet, phase lock to > it. Phase locking to a triangle of reasonably known frequency is > definitely achievable. >
ok true. so an under sampling scope can create an accurate picture of the waveform from the under-sampled information knowing: 1) the waveform is repetitive 2) the exact repetition frequency and that's it with the restriction that the sub sampling frequency must NOT be a sub multiple of the rep rate. seems pretty clear in the time domain interesting mental exercise to work it out in the frequency domain m
rickman  <gnuarm@gmail.com> wrote:

>On 5/19/2017 2:58 AM, Steve Pope wrote:
>> rickman <gnuarm@gmail.com> wrote:
>>> On 5/19/2017 1:20 AM, Steve Pope wrote:
>>>> Yeah, you know, one of the basics of sampled signals is that when >>>> you uniformly sample a signal, the components of that signal then >>>> become aliased repeatedly up to infinity.
>>> Is it not true that a sampled digital signal has no content above 0.5 Fs?
>> In discrete time, the frequency components are defined from 0 to 0.5 Fs. > >Not defined... that is what exists.
Surely an ontological question is beyond the scope of this discussion.
> Any information about signal frequencies above 0.5 Fs has been lost.
Really? Which version of the sampling theorem are you using?
>You have acknowledged the signal is *not* there in the ADC data.
No, I have not. Specifically, a signal in a narrow band around 2.0625 MHz is definitely entirely contained in ADC data sampled at 1 Ms/sec. Because, Nyquist.
>>> You can't filter something that isn't there.
>> It's there, dude.
>It is not there as you have acknowledged above. You can recreate it, >move it or whatever, but once the signal is aliased by under sampling, >the information required to reconstruct it is lost.
100% false.
>> I've explained several times how to get it >> and why it's there. As I said, this is basic sampled signals theory.
>Above you acknowledged the ADC output does not contain any information >above 0.5 Fs.
Do not tell me I said things that I have not said.
>The only reason why you can reconstruct the signal at 2.065 MHz is >because there is no interfering signal when it is aliased down to 0.065 >MHz.
Finally we can agree on something.
>In the general case once the signal is aliased down it can no >longer be separated from other signals aliased to the same frequency. >So you use this special knowledge of this particular signal to >reconstruct it by any of various means.
*Any* sampling of a signal that is valid per the Nyquist criterion is using "special knowledge" of the signal, and this is no different from the general case.
>I was visualizing this in my mind and realized the adjustment to the >time base is equivalent to up sampling and filtering. I won't try to >reconstruct the filter this implies, but I bet it ends up be very >similar if not equivalent to what you are proposing.
We very likely agree here, if I knew the details of your "adjustment to the time base". Steve