Digital signal processing: Difference between revisions
Jump to navigation
Jump to search
imported>Kvng I did not know this |
imported>Wikistander Rescuing 6 sources and tagging 0 as dead.) #IABot (v2.0.9.5 |
||
| Line 1: | Line 1: | ||
{{short description|Mathematical signal manipulation by computers}} | {{short description|Mathematical signal manipulation by computers}} | ||
{{Redirect|Digital transform|the impact of digital technology on society|Digital transformation}} | {{Redirect|Digital transform|the impact of digital technology on society|Digital transformation}} | ||
{{Use American English|date=January 2025}} | {{Use American English|date=January 2025}} | ||
| Line 10: | Line 9: | ||
DSP can involve linear or nonlinear operations. Nonlinear signal processing is closely related to [[nonlinear system identification]]<ref>{{cite book |last=Billings |first=Stephen A. |title=Nonlinear System Identification: NARMAX Methods in the Time, Frequency, and Spatio-Temporal Domains |publisher=Wiley |isbn=978-1-119-94359-4 |date=Sep 2013 |location=UK}}</ref> and can be implemented in the [[Time domain|time]], [[Frequency domain|frequency]], and [[Spacetime|spatio-temporal domains]].<!--sort of a flip stab at a wikilink for this concept. Readers ''might'' get the idea.--> | DSP can involve linear or nonlinear operations. Nonlinear signal processing is closely related to [[nonlinear system identification]]<ref>{{cite book |last=Billings |first=Stephen A. |title=Nonlinear System Identification: NARMAX Methods in the Time, Frequency, and Spatio-Temporal Domains |publisher=Wiley |isbn=978-1-119-94359-4 |date=Sep 2013 |location=UK}}</ref> and can be implemented in the [[Time domain|time]], [[Frequency domain|frequency]], and [[Spacetime|spatio-temporal domains]].<!--sort of a flip stab at a wikilink for this concept. Readers ''might'' get the idea.--> | ||
The application of digital computation to signal processing allows for many advantages over analog processing in many applications, such as [[error detection and correction]] in transmission as well as [[data compression]].<ref>{{cite book |title=Digital Signal Processing: Instant access |last1=Broesch |first1=James D. |last2=Stranneby |first2=Dag |last3=Walker |first3=William |date=2008-10-20 |publisher=Butterworth-Heinemann-Newnes |edition=1 |isbn=9780750689762 |page=3}}</ref> Digital signal processing is also fundamental to [[digital electronics|digital technology]], such as [[digital telecommunication]] and [[wireless communications]].<ref | The application of digital computation to signal processing allows for many advantages over analog processing, in many applications, such as [[error detection and correction]] in transmission as well as [[data compression]].<ref>{{cite book |title=Digital Signal Processing: Instant access |last1=Broesch |first1=James D. |last2=Stranneby |first2=Dag |last3=Walker |first3=William |date=2008-10-20 |publisher=Butterworth-Heinemann-Newnes |edition=1 |isbn=9780750689762 |page=3}}</ref> Digital signal processing is also fundamental to [[digital electronics|digital technology]], such as [[digital telecommunication]] and [[wireless communications]].<ref>{{Cite journal |last=Franke |first=Steve |date=July–August 2020 |title=The FT4 and FT8 Communication Protocols |url=https://wsjt.sourceforge.io/FT4_FT8_QEX.pdf |journal=QEX |pages=7–17 |archive-date=2025-01-15 |access-date=2026-02-13 |archive-url=https://web.archive.org/web/20250115091947/https://wsjt.sourceforge.io/FT4_FT8_QEX.pdf |url-status=live }}</ref> DSP is applicable to both [[streaming data]] and static (stored) data. | ||
== Signal sampling == | == Signal sampling == | ||
{{Main|Sampling (signal processing)}} | {{Main|Sampling (signal processing)}} | ||
To digitally analyze and manipulate an analog signal, it must be digitized with an [[analog-to-digital converter]] (ADC).<ref>{{cite journal |last=Walden |first=R. H. |date=1999 |title=Analog-to-digital converter survey and analysis |journal=IEEE Journal on Selected Areas in Communications |volume=17 |issue=4 |pages=539–550 |doi=10.1109/49.761034}}</ref> Sampling is usually carried out in two stages, [[discretization]] and [[Quantization (signal processing)|quantization]]. Discretization means that the signal is divided into equal intervals of time, and each interval is represented by a single measurement of amplitude. Quantization means each amplitude measurement is approximated by a value from a finite set. Rounding [[real numbers]] to integers is an example. | To digitally analyze and manipulate an analog signal, it must be digitized with an [[analog-to-digital converter]] (ADC).<ref>{{cite journal |last=Walden |first=R. H. |date=1999 |title=Analog-to-digital converter survey and analysis |journal=IEEE Journal on Selected Areas in Communications |volume=17 |issue=4 |pages=539–550 |doi=10.1109/49.761034 |bibcode=1999IJSAC..17..539W }}</ref> Sampling is usually carried out in two stages, [[discretization]] and [[Quantization (signal processing)|quantization]]. Discretization means that the signal is divided into equal intervals of time, and each interval is represented by a single measurement of amplitude. Quantization means each amplitude measurement is approximated by a value from a finite set. Rounding [[real numbers]] to integers is an example. | ||
The [[Nyquist–Shannon sampling theorem]] states that a signal can be exactly reconstructed from its samples if the sampling frequency is greater than twice the highest frequency component in the signal. In practice, the sampling frequency is often significantly higher than this.<ref>{{cite journal |last1=Candes |first1=E. J. |last2=Wakin |first2=M. B. |date=2008 |title=An Introduction To Compressive Sampling |journal=IEEE Signal Processing Magazine |volume=25 |issue=2 |pages=21–30 |doi=10.1109/MSP.2007.914731|bibcode=2008ISPM...25...21C |s2cid=1704522 |url=https://resolver.caltech.edu/CaltechAUTHORS:CANieeespm08 }}</ref> It is common to use an [[anti-aliasing filter]] to limit the signal bandwidth to comply with the sampling theorem, however careful selection of this filter is required because the reconstructed signal will be the filtered signal plus residual [[aliasing]] from imperfect [[stop band]] rejection instead of the original (unfiltered) signal. | The [[Nyquist–Shannon sampling theorem]] states that a signal can be exactly reconstructed from its samples if the sampling frequency is greater than twice the highest frequency component in the signal. In practice, the sampling frequency is often significantly higher than this.<ref>{{cite journal |last1=Candes |first1=E. J. |last2=Wakin |first2=M. B. |date=2008 |title=An Introduction To Compressive Sampling |journal=IEEE Signal Processing Magazine |volume=25 |issue=2 |pages=21–30 |doi=10.1109/MSP.2007.914731|bibcode=2008ISPM...25...21C |s2cid=1704522 |url=https://resolver.caltech.edu/CaltechAUTHORS:CANieeespm08 }}</ref> It is common to use an [[anti-aliasing filter]] to limit the signal bandwidth to comply with the sampling theorem, however careful selection of this filter is required because the reconstructed signal will be the filtered signal plus residual [[aliasing]] from imperfect [[stop band]] rejection instead of the original (unfiltered) signal. | ||
| Line 25: | Line 24: | ||
=== Time and space domains === | === Time and space domains === | ||
[[Time domain]] refers to the analysis of signals with respect to time. Similarly, space domain refers to the analysis of signals with respect to position, e.g., pixel location for the case of image processing. | [[Time domain]] refers to the analysis of signals with respect to time. Similarly, the space domain refers to the analysis of signals with respect to position, e.g., pixel location for the case of image processing. | ||
The most common processing approach in the time or space domain is enhancement of the input signal through a method called filtering. [[Digital filter]]ing generally consists of some linear transformation of a number of surrounding samples around the current sample of the input or output signal. The surrounding samples may be identified with respect to time or space. The output of a linear digital filter to any given input may be calculated by [[convolution|convolving]] the input signal with an [[impulse response]]. | The most common processing approach in the time or space domain is enhancement of the input signal through a method called filtering. [[Digital filter]]ing generally consists of some linear transformation of a number of surrounding samples around the current sample of the input or output signal. The surrounding samples may be identified with respect to time or space. The output of a linear digital filter to any given input may be calculated by [[convolution|convolving]] the input signal with an [[impulse response]]. | ||
| Line 32: | Line 31: | ||
{{Main|Frequency domain}} | {{Main|Frequency domain}} | ||
Signals are converted from time or space domain to the frequency domain usually through use of the [[Fourier transform]]. The Fourier transform converts the time or space information to a magnitude and phase component of each frequency. With some applications, how the phase varies with frequency can be a significant consideration. Where phase is unimportant, often the Fourier transform is converted to the power spectrum, which is the magnitude of each frequency component squared. | Signals are converted from the time or space domain to the frequency domain, usually through use of the [[Fourier transform]]. The Fourier transform converts the time or space information to a magnitude and phase component of each frequency. With some applications, how the phase varies with frequency can be a significant consideration. Where phase is unimportant, often the Fourier transform is converted to the power spectrum, which is the magnitude of each frequency component squared. | ||
The most common purpose for analysis of signals in the frequency domain is analysis of signal properties. The engineer can study the spectrum to determine which frequencies are present in the input signal and which are missing. Frequency domain analysis is also called ''spectrum-'' or ''spectral analysis''. | The most common purpose for analysis of signals in the frequency domain is analysis of signal properties. The engineer can study the spectrum to determine which frequencies are present in the input signal and which are missing. Frequency domain analysis is also called ''spectrum-'' or ''spectral analysis''. | ||
| Line 38: | Line 37: | ||
Filtering, particularly in non-realtime work, can also be achieved in the frequency domain, applying the filter and then converting back to the time domain. This can be an efficient implementation and can give essentially any filter response, including excellent approximations to [[brickwall filter]]s. | Filtering, particularly in non-realtime work, can also be achieved in the frequency domain, applying the filter and then converting back to the time domain. This can be an efficient implementation and can give essentially any filter response, including excellent approximations to [[brickwall filter]]s. | ||
There are some commonly used frequency domain transformations. For example, the [[cepstrum]] converts a signal to the frequency domain through Fourier transform, takes the logarithm, then applies another Fourier transform. This emphasizes the harmonic structure of the original spectrum. | There are some commonly used frequency domain transformations. For example, the [[cepstrum]] converts a signal to the frequency domain through the Fourier transform, takes the logarithm, then applies another Fourier transform. This emphasizes the harmonic structure of the original spectrum. | ||
===Z-plane analysis=== | ===Z-plane analysis=== | ||
Digital filters come in both [[infinite impulse response]] (IIR) and [[finite impulse response]] (FIR) types. Whereas FIR filters are always stable, IIR filters have feedback loops that may become unstable and oscillate. The [[Z-transform]] provides a tool for analyzing stability issues of digital IIR filters. It is analogous to the [[Laplace transform]], which is used to design and analyze analog IIR filters. | Digital filters come in both [[infinite impulse response]] (IIR) and [[finite impulse response]] (FIR) types. Whereas FIR filters are always stable, IIR filters have feedback loops that may become unstable and oscillate. The [[Z-transform]] provides a tool for analyzing stability issues of digital IIR filters.<ref>{{Cite book |last1=Proakis |first1=John G. |title=Digital signal processing |last2=Manolakis |first2=Dimitris G. |date=2007 |publisher=Pearson Prentice Hall |isbn=978-0-13-187374-2 |edition=4th |location=Upper Saddle River, N.J |pages=196–198}}</ref> It is analogous to the [[Laplace transform]], which is used to design and analyze analog IIR filters. | ||
===Autoregression analysis=== | ===Autoregression analysis=== | ||
A signal is represented as linear combination of its previous samples. Coefficients of the combination are called autoregression coefficients. This method has higher frequency resolution and can process shorter signals compared to the Fourier transform.<ref name = "Marple">{{Cite book| publisher = Prentice Hall| isbn = 978-0-13-214149-9| last = Marple| first = S. Lawrence| title = Digital Spectral Analysis: With Applications| location = Englewood Cliffs, N.J| date = 1987-01-01}}</ref> [[Prony's method]] can be used to estimate phases, amplitudes, initial phases and decays of the components of signal.<ref name = "Ribeiro" /><ref name = "Marple" /> Components are assumed to be complex decaying exponents.<ref name = "Ribeiro">{{Cite journal| doi = 10.1006/mssp.2001.1399| issn = 0888-3270| volume = 17| issue = 3| pages = 533–549| last1 = Ribeiro| first1 = M.P.| last2 = Ewins| first2 = D.J.| last3 = Robb| first3 = D.A.| title = Non-stationary analysis and noise filtering using a technique extended from the original Prony method| journal = Mechanical Systems and Signal Processing| access-date = 2019-02-17| date = 2003-05-01| bibcode = 2003MSSP...17..533R| url = http://linkinghub.elsevier.com/retrieve/pii/S0888327001913998}}</ref><ref name = "Marple" /> | A signal is represented as a linear combination of its previous samples. Coefficients of the combination are called autoregression coefficients. This method has higher frequency resolution and can process shorter signals compared to the Fourier transform.<ref name = "Marple">{{Cite book| publisher = Prentice Hall| isbn = 978-0-13-214149-9| last = Marple| first = S. Lawrence| title = Digital Spectral Analysis: With Applications| location = Englewood Cliffs, N.J| date = 1987-01-01}}</ref> [[Prony's method]] can be used to estimate phases, amplitudes, initial phases and decays of the components of signal.<ref name = "Ribeiro" /><ref name = "Marple" /> Components are assumed to be complex decaying exponents.<ref name = "Ribeiro">{{Cite journal| doi = 10.1006/mssp.2001.1399| issn = 0888-3270| volume = 17| issue = 3| pages = 533–549| last1 = Ribeiro| first1 = M.P.| last2 = Ewins| first2 = D.J.| last3 = Robb| first3 = D.A.| title = Non-stationary analysis and noise filtering using a technique extended from the original Prony method| journal = Mechanical Systems and Signal Processing| access-date = 2019-02-17| date = 2003-05-01| bibcode = 2003MSSP...17..533R| url = http://linkinghub.elsevier.com/retrieve/pii/S0888327001913998| url-access = subscription| archive-date = 2018-06-03| archive-url = https://web.archive.org/web/20180603125441/https://linkinghub.elsevier.com/retrieve/pii/S0888327001913998| url-status = live}}</ref><ref name = "Marple" /> | ||
===Time-frequency analysis=== | ===Time-frequency analysis=== | ||
A time-frequency representation of a signal can capture both temporal evolution and frequency structure of the signal. Temporal and frequency resolution are limited by the [[uncertainty principle]] and the tradeoff is adjusted by the width of the analysis window. Linear techniques such as [[Short-time Fourier transform]], [[wavelet transform]], [[filter bank]],<ref>{{Cite conference| last1 = So| first1 = Stephen| last2 = Paliwal| first2 = Kuldip K.| title = Improved noise-robustness in distributed speech recognition via perceptually-weighted vector quantisation of filterbank energies| book-title = Ninth European Conference on Speech Communication and Technology| date = 2005}}</ref> non-linear (e.g., [[Wigner–Ville transform]]<ref name = "Ribeiro" />) and [[autoregressive]] methods (e.g. segmented Prony method)<ref name = "Ribeiro" /><ref>{{Cite journal| doi = 10.1515/acgeo-2015-0012| issn = 1895-6572| volume = 63| issue = 3| pages = 652–678| last1 = Mitrofanov| first1 = Georgy| last2 = Priimenko| first2 = Viatcheslav| title = Prony Filtering of Seismic Data| journal = Acta Geophysica| date = 2015-06-01| bibcode = 2015AcGeo..63..652M| s2cid = 130300729| doi-access = free}}</ref><ref>{{Cite journal| doi = 10.20403/2078-0575-2020-2-55-67| issn = 2078-0575| issue = 2| pages = 55–67| last1 = Mitrofanov| first1 = Georgy| last2 = Smolin| first2 = S. N.| last3 = Orlov| first3 = Yu. A.| last4 = Bespechnyy| first4 = V. N.| title = Prony decomposition and filtering| journal = Geology and Mineral Resources of Siberia| access-date = 2020-09-08| date = 2020| s2cid = 226638723| url = http://www.jourgimss.ru/en/SitePages/catalog/2020/02/abstract/2020_2_55.aspx}}</ref> are used for representation of signal on the time-frequency plane. Non-linear and segmented Prony methods can provide higher resolution, but may produce undesirable artifacts. Time-frequency analysis is usually used for analysis of non-stationary signals. For example, methods of [[fundamental frequency]] estimation, such as RAPT and PEFAC<ref>{{Cite journal| doi = 10.1109/TASLP.2013.2295918| issn = 2329-9290| volume = 22| issue = 2| pages = 518–530| last1 = Gonzalez| first1 = Sira| last2 = Brookes| first2 = Mike| title = PEFAC - A Pitch Estimation Algorithm Robust to High Levels of Noise| journal = IEEE/ACM Transactions on Audio, Speech, and Language Processing| | A time-frequency representation of a signal can capture both temporal evolution and frequency structure of the signal. Temporal and frequency resolution are limited by the [[uncertainty principle]] and the tradeoff is adjusted by the width of the analysis window. Linear techniques such as [[Short-time Fourier transform]], [[wavelet transform]], [[filter bank]],<ref>{{Cite conference| last1 = So| first1 = Stephen| last2 = Paliwal| first2 = Kuldip K.| title = Improved noise-robustness in distributed speech recognition via perceptually-weighted vector quantisation of filterbank energies| book-title = Ninth European Conference on Speech Communication and Technology| date = 2005}}</ref> non-linear (e.g., [[Wigner–Ville transform]]<ref name = "Ribeiro" />) and [[autoregressive]] methods (e.g. segmented Prony method)<ref name = "Ribeiro" /><ref>{{Cite journal| doi = 10.1515/acgeo-2015-0012| issn = 1895-6572| volume = 63| issue = 3| pages = 652–678| last1 = Mitrofanov| first1 = Georgy| last2 = Priimenko| first2 = Viatcheslav| title = Prony Filtering of Seismic Data| journal = Acta Geophysica| date = 2015-06-01| bibcode = 2015AcGeo..63..652M| s2cid = 130300729| doi-access = free}}</ref><ref>{{Cite journal| doi = 10.20403/2078-0575-2020-2-55-67| issn = 2078-0575| issue = 2| pages = 55–67| last1 = Mitrofanov| first1 = Georgy| last2 = Smolin| first2 = S. N.| last3 = Orlov| first3 = Yu. A.| last4 = Bespechnyy| first4 = V. N.| title = Prony decomposition and filtering| journal = Geology and Mineral Resources of Siberia| access-date = 2020-09-08| date = 2020| s2cid = 226638723| url = http://www.jourgimss.ru/en/SitePages/catalog/2020/02/abstract/2020_2_55.aspx| url-access = subscription| archive-date = 2021-04-20| archive-url = https://web.archive.org/web/20210420191848/http://www.jourgimss.ru/en/SitePages/catalog/2020/02/abstract/2020_2_55.aspx| url-status = live}}</ref> are used for representation of signal on the time-frequency plane. Non-linear and segmented Prony methods can provide higher resolution, but may produce undesirable artifacts. Time-frequency analysis is usually used for analysis of non-stationary signals. For example, methods of [[fundamental frequency]] estimation, such as RAPT and PEFAC<ref>{{Cite journal| doi = 10.1109/TASLP.2013.2295918| issn = 2329-9290| volume = 22| issue = 2| pages = 518–530| last1 = Gonzalez| first1 = Sira| last2 = Brookes| first2 = Mike| title = PEFAC - A Pitch Estimation Algorithm Robust to High Levels of Noise| journal = IEEE/ACM Transactions on Audio, Speech, and Language Processing| date = February 2014| bibcode = 2014ITASL..22..518G| s2cid = 13161793}}</ref> are based on windowed spectral analysis. | ||
===Wavelet=== | ===Wavelet=== | ||
| Line 54: | Line 53: | ||
===Empirical mode decomposition=== | ===Empirical mode decomposition=== | ||
Empirical mode decomposition is based on decomposition signal into [[intrinsic mode function]]s (IMFs). IMFs are quasi- | Empirical mode decomposition is based on decomposition of the signal into [[intrinsic mode function]]s (IMFs). IMFs are quasi-harmonic oscillations that are extracted from the signal.<ref>{{Cite journal| doi = 10.1098/rspa.1998.0193| issn = 1364-5021| volume = 454| issue = 1971| pages = 903–995| last1 = Huang| first1 = N. E.| last2 = Shen| first2 = Z.| last3 = Long| first3 = S. R.| last4 = Wu| first4 = M. C.| last5 = Shih| first5 = H. H.| last6 = Zheng| first6 = Q.| last7 = Yen| first7 = N.-C.| last8 = Tung| first8 = C. C.| last9 = Liu| first9 = H. H.| title = The empirical mode decomposition and the Hilbert spectrum for nonlinear and non-stationary time series analysis| journal = Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences| access-date = 2018-06-05| date = 1998-03-08| bibcode = 1998RSPSA.454..903H| s2cid = 1262186| url = http://rspa.royalsocietypublishing.org/cgi/doi/10.1098/rspa.1998.0193}}</ref> | ||
== Implementation == | == Implementation == | ||
DSP [[algorithm]]s may be run on general-purpose computers<ref>{{Cite book |last1=Weipeng |first1=Jiang |last2=Zhiqiang |first2=He |last3=Ran |first3=Duan |last4=Xinglin |first4=Wang |title=7th International Conference on Communications and Networking in China |chapter=Major optimization methods for TD-LTE signal processing based on general purpose processor |date=August 2012 | DSP [[algorithm]]s may be run on general-purpose computers<ref>{{Cite book |last1=Weipeng |first1=Jiang |last2=Zhiqiang |first2=He |last3=Ran |first3=Duan |last4=Xinglin |first4=Wang |title=7th International Conference on Communications and Networking in China |chapter=Major optimization methods for TD-LTE signal processing based on general purpose processor |date=August 2012 |pages=797–801 |doi=10.1109/ChinaCom.2012.6417593|isbn=978-1-4673-2699-5 |s2cid=17594911 }}</ref> and [[digital signal processor]]s.<ref>{{Cite book |last1=Zaynidinov |first1=Hakimjon |last2=Ibragimov |first2=Sanjarbek |last3=Tojiboyev |first3=Gayrat |last4=Nurmurodov |first4=Javohir |chapter=Efficiency of Parallelization of Haar Fast Transform Algorithm in Dual-Core Digital Signal Processors |date=2021-06-22 |title=2021 8th International Conference on Computer and Communication Engineering (ICCCE) |publisher=IEEE |pages=7–12 |doi=10.1109/ICCCE50029.2021.9467190 |isbn=978-1-7281-1065-3|s2cid=236187914 }}</ref> DSP algorithms are also implemented on purpose-built hardware such as [[application-specific integrated circuit]] (ASICs).<ref>{{Cite journal |last=Lyakhov |first=P.A. |date=June 2023 |title=Area-Efficient digital filtering based on truncated multiply-accumulate units in residue number system 2 n - 1 , 2 n , 2 n + 1 |journal=Journal of King Saud University - Computer and Information Sciences |language=en |volume=35 |issue=6 |article-number=101574 |doi=10.1016/j.jksuci.2023.101574|doi-access=free }}</ref> Additional technologies for digital signal processing include more powerful general-purpose [[microprocessor]]s, [[graphics processing unit]]s, [[field-programmable gate array]]s (FPGAs), [[digital signal controller]]s (mostly for industrial applications such as motor control), and [[stream processing|stream processors]].<ref>{{cite book |title=Digital Signal Processing and Applications |last1=Stranneby |first1=Dag |last2=Walker |first2=William |edition=2nd |publisher=Elsevier |year=2004 |isbn=0-7506-6344-8 |url=https://books.google.com/books?id=NKK1DdqcDVUC&pg=PA241}}</ref> | ||
For systems that do not have a [[real-time computing]] requirement and the signal data (either input or output) exists in data files, processing may be done economically with a general-purpose computer. This is essentially no different from any other [[data processing]], except DSP mathematical techniques (such as the [[Discrete cosine transform|DCT]] and [[FFT]]) are used, and the sampled data is usually assumed to be uniformly sampled in time or space. | For systems that do not have a [[real-time computing]] requirement and the signal data (either input or output) exists in data files, processing may be done economically with a general-purpose computer. This is essentially no different from any other [[data processing]], except that DSP mathematical techniques (such as the [[Discrete cosine transform|DCT]] and [[FFT]]) are used, and the sampled data is usually assumed to be uniformly sampled in time or space. An example of such an application is processing [[digital photograph]]s with software such as [[Photoshop]]. | ||
When the application requirement is real-time, DSP is often implemented using specialized or dedicated processors or microprocessors, sometimes using multiple processors or multiple processing cores. These may process data using fixed- | When the application requirement is real-time, DSP is often implemented using specialized or dedicated processors or microprocessors, sometimes using multiple processors or multiple processing cores. These may process data using fixed- or floating-point arithmetic. For more demanding applications, [[FPGA]]s may be used.<ref>{{cite web |last=JPFix |title=FPGA-Based Image Processing Accelerator |url=http://www.jpfix.com/About_Us/Articles/FPGA-Based_Image_Processing_Ac/fpga-based_image_processing_ac.html |date=2006 |access-date=2008-05-10 |archive-date=2017-10-10 |archive-url=https://web.archive.org/web/20171010050712/http://www.jpfix.com/About_Us/Articles/FPGA-Based_Image_Processing_Ac/fpga-based_image_processing_ac.html |url-status=live }}</ref> For the most demanding applications or high-volume products, [[ASIC]]s might be designed specifically for the application. | ||
Parallel implementations of DSP algorithms, utilizing multi-core CPU and many-core GPU architectures, are developed to improve the | Parallel implementations of DSP algorithms, utilizing multi-core CPU and many-core GPU architectures, are developed to improve the performance in terms of latency of these algorithms.<ref name=":0">{{Cite book |last1=Kapinchev |first1=Konstantin |last2=Bradu |first2=Adrian |last3=Podoleanu |first3=Adrian |title=2019 13th International Conference on Signal Processing and Communication Systems (ICSPCS) |chapter=Parallel Approaches to Digital Signal Processing Algorithms with Applications in Medical Imaging |date=December 2019 |chapter-url=https://ieeexplore.ieee.org/document/9008720 |pages=1–7 |doi=10.1109/ICSPCS47537.2019.9008720 |isbn=978-1-7281-2194-9 |s2cid=211686462 |url=https://kar.kent.ac.uk/80930/1/Kapinchev2019.pdf |archive-date=2023-11-16 |access-date=2023-07-23 |archive-url=https://web.archive.org/web/20231116001949/https://kar.kent.ac.uk/80930/1/Kapinchev2019.pdf |url-status=live }}</ref> | ||
'''{{vanchor|Native processing}}''' is done by the computer's CPU rather than by DSP or outboard processing, which is done by additional third-party DSP chips located on extension cards or external hardware boxes or racks. Many [[digital audio workstation]]s such as [[Logic Pro]], [[Cubase]], [[Digital Performer]] and [[Pro Tools]] LE use native processing. Others, such as [[Pro Tools]] HD, [[Universal Audio (company)|Universal Audio]]'s UAD-1 and [[TC Electronic]]'s Powercore use DSP processing. | '''{{vanchor|Native processing}}''' is done by the computer's CPU rather than by DSP or outboard processing, which is done by additional third-party DSP chips located on extension cards or external hardware boxes or racks. Many [[digital audio workstation]]s such as [[Logic Pro]], [[Cubase]], [[Digital Performer]] and [[Pro Tools]] LE use native processing. Others, such as [[Pro Tools]] HD, [[Universal Audio (company)|Universal Audio]]'s UAD-1 and [[TC Electronic]]'s Powercore use DSP processing. | ||
| Line 88: | Line 87: | ||
{{Div col end}} | {{Div col end}} | ||
Specific examples include [[speech coding]] and transmission in digital [[mobile phone]]s, [[room correction]] of sound in [[hi-fi]] and [[sound reinforcement]] applications, analysis and control of [[industrial process]]es, [[medical imaging]] such as [[Computed axial tomography|CAT]] scans and [[MRI]], [[audio crossover]]s and [[equalization (audio)|equalization]], [[digital synthesizer]]s, and audio [[effects unit]]s.<ref>{{cite book |last1=Rabiner |first1=Lawrence R. |author1-link=Lawrence Rabiner |last2=Gold |first2=Bernard |date=1975 |title=Theory and application of digital signal processing |location=Englewood Cliffs, NJ |publisher=Prentice-Hall, Inc. |isbn=978-0139141010 |url-access=registration |url=https://archive.org/details/theoryapplicatio00rabi }}</ref> DSP has been used in [[hearing aid]] technology since 1996, which allows for automatic directional microphones, complex digital [[noise reduction]], and improved adjustment of the [[frequency response]].<ref>{{Cite journal | | Specific examples include [[speech coding]] and transmission in digital [[mobile phone]]s, [[room correction]] of sound in [[hi-fi]] and [[sound reinforcement]] applications, analysis and control of [[industrial process]]es, [[medical imaging]] such as [[Computed axial tomography|CAT]] scans and [[MRI]], [[audio crossover]]s and [[equalization (audio)|equalization]], [[digital synthesizer]]s, and audio [[effects unit]]s.<ref>{{cite book |last1=Rabiner |first1=Lawrence R. |author1-link=Lawrence Rabiner |last2=Gold |first2=Bernard |date=1975 |title=Theory and application of digital signal processing |location=Englewood Cliffs, NJ |publisher=Prentice-Hall, Inc. |isbn=978-0139141010 |url-access=registration |url=https://archive.org/details/theoryapplicatio00rabi }}</ref> DSP has been used in [[hearing aid]] technology since 1996, which allows for automatic directional microphones, complex digital [[noise reduction]], and improved adjustment of the [[frequency response]].<ref>{{Cite journal |last1=Kerckhoff |first1=Jessica |last2=Listenberger |first2=Jennifer |last3=Valente |first3=Michael |date=October 1, 2008 |title=Advances in hearing aid technology |url=https://digitalcommons.wustl.edu/audio_hapubs/28 |journal=Contemporary Issues in Communication Science and Disorders |volume=35 |pages=102–112 |doi=10.1044/cicsd_35_F_102}}</ref> | ||
== Techniques == | == Techniques == | ||
| Line 95: | Line 94: | ||
* [[Discrete Fourier transform]] | * [[Discrete Fourier transform]] | ||
* [[Discrete-time Fourier transform]] | * [[Discrete-time Fourier transform]] | ||
* [[Fast Fourier transform]] | |||
* [[Filter design]] | * [[Filter design]] | ||
* [[Goertzel algorithm]] | * [[Goertzel algorithm]] | ||
| Line 108: | Line 108: | ||
{{Div col|colwidth=20em}} | {{Div col|colwidth=20em}} | ||
* [[Analog signal processing]] | * [[Analog signal processing]] | ||
* [[Computer engineering]] | * [[Computer engineering]] | ||
* [[Computer science]] | * [[Computer science]] | ||
* [[Computer vision]] | |||
* [[Control engineering]] | |||
* [[Data compression]] | * [[Data compression]] | ||
* [[Dataflow programming]] | * [[Dataflow programming]] | ||
* [[Discrete cosine transform]] | * [[Discrete cosine transform]] | ||
* [[Digital image processing]] | |||
* [[Electrical engineering]] | * [[Electrical engineering]] | ||
* [[Fourier analysis]] | * [[Fourier analysis]] | ||
* [[Information theory]] | * [[Information theory]] | ||
* [[Machine learning]] | * [[Machine learning]] | ||
* [[Multidimensional DSP with GPU acceleration]] | |||
* [[Real-time computing]] | * [[Real-time computing]] | ||
* [[Signal conditioning]] | |||
* [[Stream processing]] | * [[Stream processing]] | ||
* [[Telecommunications]] | * [[Telecommunications]] | ||
| Line 131: | Line 135: | ||
*Jonathan M. Blackledge, Martin Turner: ''Digital Signal Processing: Mathematical and Computational Methods, Software Development and Applications'', Horwood Publishing, {{ISBN|1-898563-48-9}} | *Jonathan M. Blackledge, Martin Turner: ''Digital Signal Processing: Mathematical and Computational Methods, Software Development and Applications'', Horwood Publishing, {{ISBN|1-898563-48-9}} | ||
*James D. Broesch: ''Digital Signal Processing Demystified'', Newnes, {{ISBN|1-878707-16-7}} | *James D. Broesch: ''Digital Signal Processing Demystified'', Newnes, {{ISBN|1-878707-16-7}} | ||
*{{ cite book | editor-last1 = Yovits | editor-first1 = Marshall C. | last1 = Dyer | first1 = Stephen A. | last2 = Harms | first2 = Brian K. | chapter = Digital Signal Processing | title = Advances in Computers | date = 1993-08-13 | volume = 37 | pages = 59{{hyphen}}118 | publisher = [[Academic Press]] | doi = 10.1016/S0065-2458(08)60403-9 | isbn = 978-0120121373 | issn = 0065-2458 | lccn = 59015761 | chapter-url = https://books.google.com/books?id=vL-bB7GALAwC&pg=PA104 | ol = OL10070096M | oclc = 858439915 | df = dmy-all}} | *{{cite book | editor-last1 = Yovits | editor-first1 = Marshall C. | last1 = Dyer | first1 = Stephen A. | last2 = Harms | first2 = Brian K. | chapter = Digital Signal Processing | title = Advances in Computers | date = 1993-08-13 | volume = 37 | pages = 59{{hyphen}}118 | publisher = [[Academic Press]] | doi = 10.1016/S0065-2458(08)60403-9 | isbn = 978-0120121373 | issn = 0065-2458 | lccn = 59015761 | chapter-url = https://books.google.com/books?id=vL-bB7GALAwC&pg=PA104 | ol = OL10070096M | oclc = 858439915 | df = dmy-all }} | ||
*Paul M. Embree, Damon Danieli: ''C++ Algorithms for Digital Signal Processing'', Prentice Hall, {{ISBN|0-13-179144-3}} | *Paul M. Embree, Damon Danieli: ''C++ Algorithms for Digital Signal Processing'', Prentice Hall, {{ISBN|0-13-179144-3}} | ||
*Hari Krishna Garg: ''Digital Signal Processing Algorithms'', CRC Press, {{ISBN|0-8493-7178-3}} | *Hari Krishna Garg: ''Digital Signal Processing Algorithms'', CRC Press, {{ISBN|0-8493-7178-3}} | ||
| Line 147: | Line 151: | ||
*Charles A. Schuler: ''Digital Signal Processing: A Hands-On Approach'', McGraw-Hill, {{ISBN|0-07-829744-3}} | *Charles A. Schuler: ''Digital Signal Processing: A Hands-On Approach'', McGraw-Hill, {{ISBN|0-07-829744-3}} | ||
*Doug Smith: ''Digital Signal Processing Technology: Essentials of the Communications Revolution'', American Radio Relay League, {{ISBN|0-87259-819-5}} | *Doug Smith: ''Digital Signal Processing Technology: Essentials of the Communications Revolution'', American Radio Relay League, {{ISBN|0-87259-819-5}} | ||
*{{cite book|url=http://www.dspguide.com|title=Digital Signal Processing: A Practical Guide for Engineers and Scientists|last=Smith|first=Steven W.|date=2002|publisher=Newnes|isbn=0-7506-7444-X}} | *{{cite book|url=http://www.dspguide.com/|title=Digital Signal Processing: A Practical Guide for Engineers and Scientists|last=Smith|first=Steven W.|date=2002|publisher=Newnes|isbn=0-7506-7444-X|archive-date=2007-09-08|access-date=2011-10-20|archive-url=https://web.archive.org/web/20070908211136/http://www.dspguide.com/|url-status=live}} | ||
*{{cite book|title =Digital Signal Processing, a Computer Science Perspective|last =Stein|first =Jonathan Yaakov|date =2000-10-09|publisher =Wiley|isbn =0-471-29546-9}} | *{{cite book|title =Digital Signal Processing, a Computer Science Perspective|last =Stein|first =Jonathan Yaakov|date =2000-10-09|publisher =Wiley|isbn =0-471-29546-9}} | ||
*{{cite book|title =Advanced Signal Processing Handbook: Theory and Implementation for Radar, Sonar, and Medical Imaging Real-Time Systems|last =Stergiopoulos|first =Stergios|date =2000|publisher =CRC Press|isbn =0-8493-3691-0}} | *{{cite book|title =Advanced Signal Processing Handbook: Theory and Implementation for Radar, Sonar, and Medical Imaging Real-Time Systems|last =Stergiopoulos|first =Stergios|date =2000|publisher =CRC Press|isbn =0-8493-3691-0}} | ||