Talk:Downsampling (signal processing)

Untitled
There should also be a part on the way decimation transformations work in physics. Meaning by applying the renormalization group to a crystal structure and then relabeling the points. --131.174.17.21 (talk) 18:48, 16 January 2008 (UTC)

The article refers to "eliminating every other sample without changing the sampling rate". This seems like a contradiction in terms; removing every other sample will by definition halve the sampling rate. I think the article means to say / should say "without changing the playback rate (in samples per time period)" or somesuch. 142.103.107.100 (talk) 23:35, 18 August 2008 (UTC)

Decimation
This page contains the term decimation. Currently decimation has to do with the Roman army... 212.143.17.66
 * Removed the word. &mdash;Pangolin 06:27, 23 June 2006 (UTC)
 * Someone has now corrected the link to be decimation (signal processing) Jasen betts (talk) 06:16, 26 October 2011 (UTC)

Circular definition
The first paragraph defines downsampling as "the process of reducing the sampling rate", so starting the next section "By downsampling, the sampling rate is also reduced . . ." doesn't work. Fredsie 15:03, 21 December 2006 (UTC)

Phrase
"So in practice the cutoff frequency is placed far enough below the theoretical cutoff that the filter's skirt is contained below the theoretical cutoff."
 * Huh? O.o I think there is a below the theoretical cutoff surplus... -- ANDROBETA 02:11, 27 December 2010 (UTC)
 * the skirt is the leakage of the filter, real world filters aren't [brick-wall filters] you don't want leakage crossing the threshold and coming back frequency inverted and corrupting the desired signal. Jasen betts (talk) 06:16, 26 October 2011 (UTC)

Interpolation is a low pass filter?
really? suppose I interpolate using sinc at the sample rate but yeah, In the real world it makes more sense to use some other convolution that is finite and does perform a low pass with the desired limit.

Jasen betts (talk) 06:16, 26 October 2011 (UTC)

Merger proposal
I think the Decimation (signal processing) article is a good candidate for merging, since Decimation and Downsampling are used interchangeably (in my experience). Jcmcclurg (talk) 05:18, 19 March 2012 (UTC)
 * Downsampling means to reduce the number of bits of information for each sample. Decimation means to reduce the number of samples. Based upon this and because this merger proposal has been sitting dormant since March, I will make "not to be confused with" links and remove the template. --Mblumber (talk) 20:08, 17 August 2012 (UTC)
 * After further research, I am wrong and will complete the merge of decimation into downsampling --Mblumber (talk) 20:20, 17 August 2012 (UTC)

Decimation by a factor of 1?
The section on effect on the Z transform made no sense, so I tried to improve it, starting from incrementing that 1 to 2. That section came in in this March 2012 edit, by an editor who seems to be inactive. I'd just get rid of it unless someone sees the point and wants to fix it up. Dicklyon (talk) 23:40, 29 June 2013 (UTC)

Decimation (signal processing)
I have proposal to iclude in text this very importent fragment^

"In the easer case can be use the algorithm:


 * $$y[n] = \sum_{k=0}^{M-1} x[nM+k]\ e^{-i 2\pi f kT}, n=0,1,.., N$$,

where T is interval between samples of signal. For example by $$ 2\pi f kT = k\pi/2$$ we have $$ e^{-i 2\pi f kT} = 1, e^{-i \pi/2}, e^{-i \pi},...$$ and


 * $$Re (y[n]) = \sum_{k=0}^{M-1}( Re (x[nM+k]) cos { k \pi/2 } + Im (x[nM+k]) sin { k \pi/2 })\,$$,


 * $$Im (y[n]) = \sum_{k=0}^{M-1}( Im (x[nM+k]) cos { k \pi/2 } - Re (x[nM+k]) sin { k \pi/2 })\,$$.

For $$Im (x[nM+k])=0$$ we have


 * $$Re (y[n]) = \sum_{k=0}^{M-1}( Re (x[nM+k]) cos { k \pi/2 }\,$$,


 * $$Im (y[n]) = \sum_{k=0}^{M-1}( Re (x[nM+k]) sin { k \pi/2 })\,$$,

or
 * $$Re (y[n]) = x[nM]-x[nM+2]+x[nM+4]-...,$$,


 * $$Im (y[n]) = -x[nM+1]+x[nM+3]-x[nM+5]-...$$.

For video signals ($$Im (x[nM+k])=0$$ and $$Re (x[nM+k])>=0$$)


 * $$y[n] = \sum_{k=0}^{M-1} x[nM+k]\ $$.

This Algorithm is only one filter of discrete Fourier transform and is very importent for decimation of ADC samples before digital beamforming in digital antenna arrays in radars and MIMO systems in communications."

It's very importent for Wiki-readers. Thank you for your understanding. Best regards,Swadim (talk) 10:32, 25 August 2017 (UTC)


 * If current academic works on the article subject (which the referenced paper is not) include this information then (subject to WP:DUE weight), it could be included here. It seems more likely though, that if it belongs anywhere, it is in a more-specialised article (perhaps radio/MIMO/etc.).—Aquegg (talk) 12:38, 25 August 2017 (UTC)


 * Swadim, this article is about decimation, not frequency-shifting. Combining the two only makes both concepts harder to understand.  Furthermore, you are decimating without anti-alias filtering, which is generally a bad idea.  I'm sorry, but your insertion is irrelevant, technically questionable, and very disruptive.
 * --Bob K (talk) 20:05, 25 August 2017 (UTC)


 * Dear Bob K,

I'm sorry, but it's only your personal vision. Where you see in this article the frequency-shifting? This are only radio and video signals decimation methods.


 * If you don't know that $$\sum_{k=0}^{M-1} x[nM+k]\ e^{-i 2\pi f kT}, n=0,1,.., N$$ is performing a frequency-shift, then I have to ask what "science" is your degree in. And yes, I do have a PhD, in Electrical Engineering/Communication Theory. And my 40 years of experience beats your 30 years.
 * --Bob K (talk) 12:10, 26 August 2017 (UTC)

Concerning anti-alias filtering I should be tell that proposed algorithm is only one case of formula


 * $$y[n] = \sum_{k=0}^{K-1} x[nM-k]\cdot h[k],$$

and have similare properties.

I'm happy that you don't know about this algorithm. Do you have PhD in digital signal processing? I'm Doctor of Science and Professor and use similar algorithms in our tecnical solutions for radars and communications more as 30 years. I think that Wiki-users sould be know about all possible algorithms of decimation. You can include your comments in this article after my text. But full deleting of this text is very disruptive. I have proposal to make of special part of article about this methods with your comments.Swadim (talk) 06:32, 26 August 2017 (UTC)


 * I know exactly what that algorithm is doing, apparently better than you do. As I have already explained, it combines two different concepts, which is not necessary or relevant to the explanation of decimation.  So you are the one being disruptive.  As Aquegg has said, you are trying to turn a basic tutorial on decimation into something more specialized.  Take it somewhere else.
 * --Bob K (talk) 12:10, 26 August 2017 (UTC)


 * Dear Bob K,

In any case the term decimation is more bigger as your little and old experience in this field. Your concept of this term is very limited. I'm so sorry that Wikipedia has you as moderator of this article. The Wikipedia is not your personal site. You should consider all other points of vision and all theories. The time will show who is right. Swadim (talk) 15:16, 26 August 2017 (UTC)


 * If 40 years is "little" experience, then you still have a long way to go. I am sorry that we couldn't come to a better understanding.  And I thank you for your patience.  Good luck.
 * --Bob K (talk) 05:07, 27 August 2017 (UTC)


 * Dear Bob K,

Thank you, but I have additinal arguments.

You wrote, that "it (proposed algorithm)) combines two different concepts, which is not necessary or relevant to the explanation of decimation". But the anti-alias filtering is similary different concept regarding for decimation. The better anti-alias filtering give only the analog filtering. Old concept of decimation combined with digital equivalence of anti-alias filtering.

The same proposed algorithm combine 4 concept: decimation, anti-alias filtering (may be not very good), frequency-shift and I/Q-demodulation. Why one combined concept in your opinion is better as other? And what is your opinion about this algorithm of decimation:


 * $$Re (y[n]) = -6[nM+1]+32x[nM+3]-52x[nM+5]+32x[nM+7]-6x[nM+9].$$
 * $$Im (y[n]) = x[nM]-17x[nM+2]+46x[nM+4]-46x[nM+6]+17x[nM+8]-x[nM+10].$$

This is only one case of general formula:


 * $$y[n] = \sum_{k=0}^{M-1} x[nM+k]\cdot h[k].$$

But this is decimation with anti-alias filtering, frequency-shift and I/Q-demodulation.

I have proposal regarding compronise solution of this discussion; Introduce the additional part for the article "decimation" with name "Combined nethods of decimation". I think that this not destroy article concept and expand termin "decimation" to practical solutions. Best regards,Swadim (talk) 06:45, 27 August 2017 (UTC)


 * "Destroy" is your word Swadim, but I agree that is what you were doing to the basic explanation of decimation. That is why you met such stiff resistance, not because "Swadim isn't very good with English, and doesn't know any good English-language sources for this".  I have no objection to elaborating on a specific application in a subsequent section, because disinterested readers can simply stop reading at that point, without missing the basics. It is a standard approach seen over and over again in Wikipedia. --Bob K (talk) 04:29, 28 August 2017 (UTC)

Thank you, Bob K. I will do it with your help. Swadim (talk) 12:39, 28 August 2017 (UTC)


 * To reiterate, whether or not a WP article should include information depends on whether the authors of pertinent scholarly works include it. For example, if the referenced books by Milić and Harris (titled “Multirate … Processing …”) include it, then that could be an argument for including it here. (See WP:RS and WP:DUE.)—Aquegg (talk) 13:11, 27 August 2017 (UTC)

The biggest problem I see here (besides Bob K and Swadim dipping into personal attacks on each others' credentials) is that Swadim isn't very good with English, and doesn't know any good English-language sources for this. I agree that it's not uncommon to do something like this combined algorithm for decimated downconversion to baseband (modulator/mixer followed by sum-and-dump decimation, or integrate-and-dump in the old analog days); it's essentially what Goertzel's algorithm does, differently arranged with perhaps different opportunities for optimization. The more general case with the arbitrary FIR filter before resampling might be more interesting, and looks like the sort of thing one sees in multi-rate signal processing; or maybe it's less interesting, as it's clearly just a filter followed by a sum-and-dump decimator, using the obvious optimization. But let's work on this via sources, as Aquegg suggests. Once we find what we want in sources, we can see whether Decimation is the best place to cover it or not. It's not the most elegant treatment, but Freeny does discuss this sort of bandpass resampling in telephony, in 1980 (Freeny, S. "TDM/FDM translation as an application of digital signal processing." IEEE Communications Magazine 18.1 (1980): 5-15.) and even less explicitly in 1971 (Freeny, S., et al. "Systems analysis of a TDM-FDM translator/digital A-type channel bank." IEEE Transactions on Communication Technology 19.6 (1971): 1050-1059.). I've used it myself recently in audio, but I agree it's more important for radar and radio where efficient bandpass downconversion is more crucial. Dicklyon (talk) 13:59, 27 August 2017 (UTC)

A more recent (analog discrete-time) implementation of this combined filtering and decimation is in Karvonen, Sami, Thomas AD Riley, and Juha Kostamovaara. "A CMOS quadrature charge-domain sampling circuit with 66-dB SFDR up to 100 MHz." IEEE Transactions on Circuits and Systems I: Regular Papers 52.2 (2005): 292-304. It has lots of refs, some of which might be better sources on this. Dicklyon (talk) 14:09, 27 August 2017 (UTC)

Thank you Aquegg and Dicklyon for your compromise solution.

Regarding of sources for this method and "scholarly works" (to Aquegg) I should say that the paper is the full "scholarly work". This paper was published ALLERTON PRESS INC. (USA) and included in SCOPUS. As the additional reference can proposed the article from PIC S&T’2016.

I will study other references, which was proposed of Dicklyon. Unfortunatelly I don't find now identical formulas. But I think that this process will be more faster with help from all WIKI-users after publication the text in Wiki-article. The problem is not only with english but with absence of free access to good English-language books. I proposed references with free access. Swadim (talk) 16:34, 27 August 2017 (UTC)

I found the formula
 * $$y[n] = \sum_{k=0}^{M-1} x[nM+k]\ $$

in paper

and for $$Im (x[nM+k])=0$$ the formula


 * $$Re (y[n]) = \sum_{k=0}^{M-1}( Re (x[nM+k]) cos { k \pi/2 }\,$$,


 * $$Im (y[n]) = \sum_{k=0}^{M-1}( Re (x[nM+k]) sin { k \pi/2 })\,$$.

I think that all these  references will be enough for publication of my text as part of article about decimation (as 1st step with the condition of future  corrections)?Swadim (talk) 18:09, 27 August 2017 (UTC)

Conflicting terminology
The upsampling article states that upsampling comprises the steps of expansion and interpolation, which sounds right to me. This article states that downsampling is just one step in the process of decimation. But we don't seem too sure about that, and at least one reference (Harris) disagrees. Harris says:

The process of down sampling can be visualized as a two-step progression indicated in Figure 2.9. The process starts as an input series x(n) that is processed by a filter h(n) to obtain the output sequence y(n) with reduced bandwidth. The sample rate of the output sequence is then reduced Q-to-1 to a rate commensurate with the reduced signal bandwidth.

Where he says reduced Q-to-1 is what we should be calling decimation. And this article should be renamed downsampling. That would make us consistent with Harris and with our upsampling usage.

--Bob K (talk) 17:11, 17 November 2018 (UTC)


 * Efficient implementations of resamplers (such as libresample) hardly distinguish between up and down. Each output sample is computed as a weighted sum of input samples, without an intermediate signal.  Logically, downsampling is lowpass filtering followed by decimation, and upsampling is expansion followed by lowpass filtering, but that approach only works for integer ratios.  Doing rational ratios by upsampling and then downsampling with those methods is very inefficient.  So the intermediates are skipped, but the result is the same.  So, distinguishing between how to visualize and how to implement is important. Dicklyon (talk) 17:48, 17 November 2018 (UTC)

More often than not, ease of implementation trumps efficiency, so both methods are fair game for Wikipedia. We are describing Matlab's upfirdn algorithm: https://www.mathworks.com/help/signal/ref/upfirdn.html --Bob K (talk) 15:35, 18 November 2018 (UTC)


 * But yes, that reduction should be called decimation. Dicklyon (talk) 17:51, 17 November 2018 (UTC)

The terminology that WP uses should be the same as that used in its sources. If sources differ, then this should be noted, and the most used term per sources chosen for WP. As usage in sources can change over time, current scholarly sources outweigh historic texts.—Aquegg (talk) 07:54, 18 November 2018 (UTC)

Furthermore, decimation seems to be the predominant term used in industry—see, for example, product materials from Texas Instruments and Analog Devices.—Aquegg (talk) 08:46, 18 November 2018 (UTC)


 * Those are good points, to which I can add that Matlab agrees with you. Furthermore, Matlab disagrees with our definition of upsampling.  So Matlab is internally consistent, and we are not (after your revert of my attempt).  If you care about internal consistency, how about changing the Upsampling article to a new name (TBD) described as upsampling (Matlab style) and filtering (interpolation).  Thus upsampling replaces expansion (which is a new term to me).  The only name Matlab offers for that TBD process is resampling.  And they use decimation for the whole rate reduction process.  That makes me think Dicklyon is onto something... a merge of both articles into one called resampling, the components of which are upsampling, downsampling, and lowpass filtering.  decimation and expansion are not needed, but we would acknowledge that decimation is a conflicted term between current and historical (but not that historical... hate to think I'm a dinosaur, although it might be true) usage.  Even Frederic Harris avoided using it in 1978, but I go back a decade farther than that, when there was no controversy, AFAIK.
 * --Bob K (talk) 15:38, 18 November 2018 (UTC)


 * TI has the typical two-part partly-circular definitions:
 * Decimation decreases the sample rate of a signal by removing samples from the data stream
 * Decimation includes digital low pass (anti-aliasing) filter followed by a decimator
 * I think what they're trying to say is that decimation is typically used in conjunction with a lowpass filter and that sometimes the two together are called decimation. We can say that, while still defining decimation as in their first part for our purposes.  I don't think it serves anyone well to try to duplicate the confusion or circularity that's out there. Dicklyon (talk) 16:03, 18 November 2018 (UTC)
 * Merging to one article might indeed be a good idea. Dicklyon (talk) 16:05, 18 November 2018 (UTC)


 * Oops, I'm sorry. I meant expansion, not enhancement.  For clarity, I will edit my post.--Bob K (talk) 16:10, 18 November 2018 (UTC)
 * Here's a book that uses "expansion". But also used "upsampling" as a synonym. Dicklyon (talk) 16:56, 18 November 2018 (UTC)


 * Thanks. That author seems to avoid the controversy by treating decimation and downsampling as synonyms, and filtering as a separate operation (conceptually and mathematically, if not physically).  Analogously, he treats expansion and upsampling as synonymous.  Unless I missed it, he doesn't really assign names to the overall operations that include filtering, just as Matlab doesn't assign a distinct name to the sequence of upsampling (expansion) and filtering (interpolation).  Instead, Matlab just calls it resampling, which could just as easily apply to the sequence of filtering and downsampling.  So it's curious to me that they stop just short of calling both processes resampling, which is what I am leaning toward now, although that implies a merged article.  In the DTFT and Z-transform tables of "Properties", we would replace decimation with downsampling (decimation) and replace expansion with upsampling (expansion), following the lead of the book citation Dicklyon found for us.
 * --Bob K (talk) 03:10, 19 November 2018 (UTC)

I've done some terminology swapping, without really studying the history of the article or this disagreement very closely. Please just revert if this is not currently tolerable, or help me fix it up to represent better what sources really support. To me, it was clearly backwards, but I do understand there are variations in the literature. Perhaps we need to do more of a survey to understand how the terms are used these days. Dicklyon (talk) 16:49, 18 November 2018 (UTC)

"Multiple issues" (discussion)
For starters, I think the whole section, which is a relatively recent add-on, is out-of-scope. --Bob K (talk) 16:05, 8 December 2019 (UTC)

India Education Program course assignment
This article was the subject of an educational assignment supported by Wikipedia Ambassadors through the India Education Program.

The above message was substituted from by PrimeBOT (talk) on 20:03, 1 February 2023 (UTC)