What is Digital Signal Processor : Working & Its Applications The processor is a simple chip or logic circuit that responds to basic instructions as well as input processes to control the processing unit. The processor is an essential component in electronic systems like smartphones, embedded systems, laptops, computers, etc. The two essential components of a processor are ALU and the control unit. There are different types of processors available in the market which is used based on the requirement like microcontroller, microprocessor, digital signal processor, embedded processor, etc. So this article discusses one of the types of processors namely digital signal processors. What is a Digital Signal Processor? Digital signal processor definition is, a digital signal processor is a special type of microprocessor which is fabricated on metal oxide semiconductor integrated circuits. DSPs are extensively used in different applications like digital image processing, telecommunications, audio signal processing, speech recognition systems, sonar, radar, etc, and also used in consumer electronics like mobile phones, HDTV (high-definition television) products, disk drives, etc. Digital Signal Processor How Does Digital Signal Processor Work? The digital signal processor mainly works by using real-world signals like audio, voice, temperature, and video, digitizing them & after that mathematically manipulating them. A DSP performs different mathematical functions very quickly like add, subtract, multiply & divide. A digital signal processor includes main components like program memory, data memory, compute engine, and Input/Output. Program memory is used to store the programs to process data. Data Memory is used to store the data to be processed. Compute engine executes the mathematical operations, access the data from the data memory & program from the program memory. Input/Output serves different functions to connect to the external world. Digital Signal Processor Block Diagram The block diagram of the digital signal processor is shown below. Block Diagram of Digital Signal Processor In the above block diagram, a microphone is used as a transducer which changes the sound signal into an electrical signal. After that, an analog electrical signal which is generated from a microphone is given to an op-amp to condition the analog signal. An anti-aliasing filter is an LPF (low pass filter) that is located on the input of an ADC. This filter is used to band-limit wideband signals. After that, a simple ADC converter unit uses analog signals & outputs as binary digits streams. In this block diagram, the DSP is the heart of the system. At present, CMOS ICs are used to make DSPs that have high data throughputs, dedicated instruction sets & high speed. After that DAC converts digital to an analog signal. The smoothing filter is another LPF used to smoothen the output by eliminating unnecessary high-frequency components. Here, a speaker is the output transducer. So you can utilize anything else based on your requirements. Features The features of digital signal processing include the following. Digital signal processors are mainly designed for supporting repetitive and numerically intensive tasks. Most digital signal processors include a powerful data path and also the capacity to move large amounts of data to memory quickly. These processors provide unique instruction sets to develop the efficiency of hardware. The two significant features of digital signal processors are; the data path including multiple-access memory architectures & fast multiply-accumulate units. Pipelining is frequently used to enhance the processor’s performance. So at present, most processors use pipelining but in the development of enhancing performance, pipelining will make programming very hard. Characteristics The characteristics of a digital signal processor include the following. DSPs can provide the best performance. The memory which is used to store a program is different as compared to memory used to store data. DSPs don’t provide multitasking supported hardware Special instructions are there for modulo & reversed bit addressing. This processor can be used as a DMA (direct memory access) device in the host or supporting situations. DSPs include specially designed architecture to fetch multiple data. Generally, the DSPs include architecture to optimize different features like the following. Special hardware is used to carry looping at less cost. The multipliers or accumulators that are available are extremely parallel. A unit handles floating numbers within the data flow path directly. The calculations are usually carried out by a fixed point arithmetic process to speed them up. Most of the registers present in computers today move the data to the lower-most bit if an overflow occurs. However, in digital signal processors, the overflow is retained at the maximum point itself. Digital Signal Processor Architecture The architectures of the digital signal processors are; Von Neumann Architecture. Harvard Architecture. Super Harvard Architecture. Von Neumann Architecture Von Neumann’s architecture of a digital signal processor mainly includes a single memory & a single bus which are used for data transferring into & out of the CPU (central processing unit). Multiplying any two numbers needs at least 3 CLK cycles, where one CLK cycle is used to transmit each of the 3 numbers from the memory to the CPU with the help of the bus. Von Neumann Architecture We don’t calculate the time taken to transmit the output back to memory, as we assume that it will stay within the central processing unit for extra manipulation. This type of architecture is quite suitable when you are satisfied to perform all of the necessary tasks in serial. At present, most computers use Von Neumann architecture but other architectures simply need where very fast processing is necessary. Harvard Architecture The name of Harvard Architecture is taken for the work finished at Harvard University in the year the 1940s under the Howard Aiken leadership. As shown in this design, it includes two separate memories for both the data & program instructions including separate buses for each. When the buses work independently, then data & program instructions can be fetched together to improve the speed over the single bus. At present, this dual bus architecture is used by DSPs. Harvard Architecture Super Harvard Architecture The super Harvard architecture of DSP is shown below. This name was coined through Analog Devices to explain the internal function of their new ADSP-211xx & ADSP-2106x families of DSPs which are called SHARC DSP which is a reduction of the longer term of Super Harvard Architecture. Super Harvard Architecture This architecture was implemented by including some features to increase the throughput. While the super Harvard architecture digital signal processors are optimized in several methods, two areas are significant enough to be included like an instruction cache & an I/O controller. Types of Digital Signal Processor Digital signal processors are available in two types fixed-point processors and floating-point processors. Fixed Point Digital Signal Processor In a fixed-point digital signal processor, every number can be specified through a minimum of 16 bits, even though a different length can be utilized. The number can be represented with different patterns. The fixed-point means that the fractional point position can be assumed to be fixed and to be identical for the operands as well as the operation result. Fixed Point DSP Fixed point processors are used in different flexible embedded applications because it uses low power and less cost. The fixed-point digital signal processor are; TI’s TM320C54x, ADI DSP BF53X, TM320C55x, TM320C64x, TM320C62x and Motorola MSC810x. Floating Point Digital Signal Processor Floating-point digital signal processors mainly use a minimum of 32 bits to store every value. The distinct feature of floating-point DSP is that the signified numbers are not spaced uniformly. Floating-point digital signal processors can simply process the fixed-point numbers, a requirement to implement counters & signals which are received from the analog to digital converter and transmitted to the digital to analog converter. Floating Point DSP For both the operations of fixed-point and floating-point DSPs, SHARC DSPs are simply designed, optimized & executed with equivalent efficiency. As compared to fixed-point DSPs, the programs of floating-point DSPs are simple, however, they are normally very expensive and power consumption is also more. The types of floating-point DSPs are TI’s TMS320c67x and ADI ADSP 2116x/2126x. Digital Signal Processor Instruction Sets The TMS320F/C24x DSP assembly language instructions are discussed below. These instruction sets simply support numerically intensive signal-processing operations and general-purpose applications like high-speed control & multiprocessing. The instruction set of ’C24x is well-suited with the ’C2x instruction set because code written for the ’C2x is recollected to run on the ’C24x. The instruction set of TMS320F/C24x DSP is given below. Accumulator, arithmetic & logic instructions. Auxiliary register & data page pointer instructions. TREG, PREG & multiply instructions. Branch instructions. Control instructions. I/O & memory operations. The arrangement of each instruction can be done alphabetically. Here, the no. of words that an instruction occupies within program memory and also the no. of cycles that instruction needs to perform are specified. All these instructions are assumed to be performed from internal data dual-access memory & internal program memory. Accumulator, Arithmetic & Logic Instructions The Accumulator, Arithmetic & Logic Instructions of TMS320F/C24x DSP are listed below with a description, the number of cycles, words, and opcode. Mnemonic Description Cycles Words Opcode ABS The absolute value of ACC 1 1 1011 1110 0000 0000 ADD Add to ACC with a shift of 0 to 15, direct or indirect 1 1 0010 SHFT IAAA AAAA Add to ACC with shift 0 to 15, long immediate 2 2 1011 1111 1001 SHFT + 1 word Add to ACC with a shift of 16, direct or indirect 1 1 0110 0001 IAAA AAAA Add to ACC, short immediate 1 1 1011 1000 IIII IIII ADDC Add to ACC with carry, direct or indirect 1 1 0110 0000 IAAA AAAA ADDS Add to low ACC with sign-extension suppressed, direct or indirect 1 1 0110 0010 IAAA AAAA ADDT Add to ACC with shift (0 to 15) specified by TREG, direct or indirect 1 1 0110 0011 IAAA AAAA AND AND ACC with data value, direct or indirect 1 1 0110 1110 IAAA AAAA AND with ACC with a shift of 0 to 15, long immediate 2 2 1011 1111 1011 SHFT + 1 word AND with ACC with a shift of 16, long immediate 2 2 1011 1110 1000 0001 + 1 word CMPL Complement ACC 1 1 1011 1110 0000 0001 LACC Load ACC with a shift of 0 to 15, direct or indirect 1 1 0001 SHFT IAAA AAAA Load ACC with a shift of 0 to 15, long immediate 2 2 1011 1111 1000 SHFT + 1 word Load ACC with a shift of 16, direct or indirect 1 1 0110 1010 IAAA AAAA LACL Load low word of ACC, direct or indirect 1 1 0110 1001 IAAA AAAA Load low word of ACC, short immediate 1 1 1011 1001 IIII IIII LACT Load ACC with shift (0 to 15) specified by TREG, direct or indirect 1 1 0110 1011 IAAA AAAA NEG Negate ACC 1 1 1011 1110 0000 0010 NORM Normalize the contents of ACC, indirect 1 1 1010 0000 IAAA AAAA OR ACC with data value, direct or indirect 1 0110 1101 IAAA AAAA OR with ACC with a shift of 0 to 15, long immediate 2 2 1011 1111 1100 SHFT + 1 word OR with ACC with the shift of 16, long immediate 2 2 1011 1110 1000 0010 + 1 word ROL Rotate ACC left 1 1 1011 1110 0000 1100 ROR Rotate ACC right 1 1 1011 1110 0000 1101 SACH Store high ACC with shift of 0 to 7, direct or indirect 1 1 1001 1SHF IAAA AAAA SACL Store low ACC with shift of 0 to 7, direct or indirect 1 1 1001 0SHF IAAA AAAA SFL Shift ACC left 1 1 1011 1110 0000 1001 SFR Shift ACC right 1 1 1011 1110 0000 1010 SUB Subtract from ACC with shift of 0 to 15, direct or indirect 1 0011 SHFT IAAA AAAA Subtract from ACC with shift of 0 to 15, long immediate 2 2 1011 1111 1010 SHFT + 1 word Subtract from ACC with shift of 16, direct or indirect 1 1 0110 0101 IAAA AAAA Subtract from ACC, short immediate 1 1 1011 1010 IIII IIII SUBB Subtract from ACC with borrow, direct or indirect 1 1 0110 0100 IAAA AAAA SUBC Conditional subtract, direct or indirect 1 1 0000 1010 IAAA AAAA SUBS Subtract from ACC with sign-extension suppressed, direct or indirect 1 1 0110 0110 IAAA AAAA SUBT Subtract from ACC with shift (0 to 15) specified by TREG, direct or indirect 1 1 0110 0111 IAAA AAAA XOR Exclusive OR ACC with data value, direct or indirect 1 1 0110 1100 IAAA AAAA Exclusive OR with ACC with shift of 0 to 15, long immediate 2 2 1011 1111 1101 SHFT + 1 word Exclusive OR with ACC with shift of 16, long immediate 2 2 1011 1110 1000 0011 + 1 word ZALR Zero low ACC and load high ACC with rounding, direct or indirect 1 1 0110 1000 IAAA AAAA Auxiliary Register & Data Page Pointer Instructions The auxiliary register & data page pointer instructions of TMS320F/C24x DSP are listed below with a description, a number of cycles, words, and opcode. Mnemonic Description Cycles Words Opcode ADRK Add constant to current AR, short immediate 1 1 0111 1000 IIII IIII BANZ Branch on current AR not 0, indirect 4 (condition true) 2 (condition false) 4 0111 1011 1AAA AAAA + 1 word CMPR Compare current AR with AR0 1 1 1011 1111 0100 01CM LAR Load specified AR from specified data location, direct or indirect 2 1 0000 0ARX IAAA AAAA LAR Load specified AR with constant, short immediate 2 1 1011 0ARX IIII IIII + 1 word MAR Modify current AR and/or ARP, indirect (performs no operation when direct) 1 1 1000 1011 IAAA AAAA SAR Store specified AR to specified data location, direct or indirect 1 1 1000 0ARX IAAA AAAA SAR Store specified AR to specified data location, direct or indirect 1 1 1000 0ARX IAAA AAAA SBRK Subtract constant from current AR, short immediate 1 1 0111 1100 IIII IIII TREG, PREG, and Multiply Instructions The TREG, PREG, & Multiply Instructions of TMS320F/C24x DSP are listed below with a description, number of cycles, words, and opcode. For Mnemonic like APAC (Add PREG to ACC), the number of cycles – 1, words-1, and opcode is 1011 1110 0000 0100. For Mnemonic like LPH (Load high PREG), direct or indirect), the number of cycles – 1, words -1, and OpCode is 0111 0101 IAAA AAAA. For Mnemonic like LT (Load TREG, direct or indirect), the number of cycles – 1, words – 1, and opcode is 0111 0011 IAAA AAAA. For Mnemonic like LTA (Load TREG and accumulate previous product, direct or indirect), the number of cycles -1, words – 1 and opcode is 0111 0000 IAAA AAAA. For Mnemonic like LTD (Load TREG, accumulate previous product, and move data, direct or indirect), the number of cycles -1, words – 1 and opcode is 0111 0010 IAAA AAAA. For Mnemonic like LTP (Load TREG and store PREG in accumulator, direct or indirect), the number of cycles -1, words – 1, and opcode is 0111 0001 IAAA AAAA. For Mnemonic like LTS (Load TREG and subtract previous product, direct or indirect), the number of cycles -1, words – 1 and opcode is 0111 0100 IAAA AAAA For Mnemonic like MAC (Multiply and accumulate, direct or indirect) the number of cycles -3, words – 2 and opcode is 1010 0010 IAAA AAAA + 1 word For Mnemonic like MACD (Multiply and accumulate with data move, direct or indirect), the number of cycles -3, words – 2, and opcode is 2 3 1010 0011 IAAA AAAA + 1 word For Mnemonic like MPY (Multiply TREG by data value, direct or indirect), the number of cycles -1, words – 1 and opcode is 0101 0100 IAAA AAAA. For Mnemonic like MPY (Multiply TREG by 13-bit constant, short immediate), the number of cycles -1, words – 1 and opcode is 110I IIII IIII IIII. For Mnemonic like MPYA (Multiply and accumulate previous product, direct or indirect), the number of cycles -1, words – 1, and opcode is 0101 0000 IAAA AAAA. For Mnemonic like MPYS (Multiply and subtract previous product, direct or indirect), the number of cycles -1, words – 1, and opcode is 1 1 0101 0001 IAAA AAAA. For Mnemonic like MPYU (Multiply unsigned, direct or indirect), the number of cycles -1, words – 1 and opcode is 0101 0101 IAAA AAAA. For Mnemonic like PAC (Load ACC with PREG), the number of cycles -1, words – 1 and opcode is 1011 1110 0000 0011. For Mnemonic like SPACE (Subtract PREG from ACC), the number of cycles -1, words – 1 and opcode is 1011 1110 0000 0101. For Mnemonic like SPH (Store high PREG, direct or indirect), the number of cycles -1, words – 1 and opcode is 1000 1101 IAAA AAAA. For Mnemonic like SPL (Store low PREG, direct or indirect), the number of cycles -1, words – 1 and opcode is 1000 1100 IAAA AAAA. For Mnemonic like SPM (Set product shift mode), the number of cycles -1, words – 1 and opcode is 1011 1111 0000 00. For Mnemonic like SQRA (Square and accumulate previous product, direct or indirect), the number of cycles -1, words – 1 and opcode is 0101 0010 IAAA AAAA. For Mnemonic like SQRS (Square and subtract previous product, direct or indirect) the number of cycles -1, words – 1, and opcode is 0101 0011 IAAA AAAA. Branch Instructions The branch instructions of TMS320F/C24x DSP are listed below with a description, a number of cycles, words, and opcode. For Mnemonic like B (Branch unconditionally, indirect), the number of cycles -4, words – 2 and opcode is 0111 1001 1AAA AAAA + 1 word. For Mnemonic like BACC (Branch to address specified by ACC), the number of cycles -4, words – 1 and opcode is 1011 1110 0010 0000. For Mnemonic like BANZ (Branch on current AR not 0,indirect), the number of cycles – 2 4 (condition true) & 2 (condition false), words – 2 and opcode is 0111 1011 1AAA AAAA + 1 word. For Mnemonic like BCND (Branch conditionally), the number of cycles – 4 (conditions true), 2 (any condition false), words – 1, and opcode is110 00TP ZLVC ZLVC + 1 word. For Mnemonic like CALA (Call subroutine at the location specified by ACC), the number of cycles -4, words – 1 and opcode is 1011 1110 0011 0000. For Mnemonic like CALL (Call subroutine, indirect), the number of cycles -4, words – 2 and opcode is 0111 1010 1AAA AAAA+ 1 word. For Mnemonic like CC (Call conditionally), the number of cycles – 2 4 (conditions true) &2 (any condition false) and opcode is 1110 10TP ZLVC ZLVC + 1 word. For Mnemonic like INTR (Soft interrupt), the number of cycles -4, words -1 and opcode is 1011 1110 011I NTR#. For Mnemonic like NMI (Non maskable interrupt), the number of cycles -4, words -1 and opcode is 1011 1110 0101 0010. For Mnemonic like RET (Return from subroutine), the number of cycles -4, words -1, and opcode is1110 1111 0000 0000. For Mnemonic like RETC (Return conditionally), the number of cycles 1 4 (conditions true) & 2 (any condition false), words -1 and opcode is 1110 11TP ZLVC ZLVC. For Mnemonic like TRAP (Software interrupt), the number of cycles -4, words -1 and opcode is 1011 1110 0101 0001. Control Instructions The control instructions of TMS320F/C24x DSP are listed below with a description, a number of cycles, words, and opcode. For Mnemonic like BIT (Test bit, direct or indirect ), the number of cycles -1, words – 1 and opcode is 0100 BITX IAAA AAAA. For Mnemonic like BITT (Test bit specified by TREG, direct or indirect), the number of cycles -1, words – 1 and opcode is 0110 1111 IAAA AAAA. For Mnemonic like CLRC (Clear C bit), the number of cycles -1, words – 1 and opcode is 1011 1110 0100 1110. For Mnemonic like IDLE ( Idle until interrupt), the number of cycles -1, words – 1 and opcode is 1011 1110 0010 0010. For Mnemonic like LDP (Load data page pointer, direct or indirect), the number of cycles -2, words – 1 and opcode is 0000 1101 IAAA AAAA. For Mnemonic like LST (Load status register ST0, direct or indirect), the number of cycles -2, words – 1, and opcode is 0000 1110 IAAA AAAA. For Mnemonic like NOP ( No operation), the number of cycles -1, words – 1 and opcode is 1000 1011 0000 0000. For Mnemonic like POP (Pop top of the stack to low ACC), the number of cycles -1, words – 1 and opcode is 1011 1110 0011 0010. For Mnemonic like POPD (Pop top of the stack to data memory, direct or indirect), the number of cycles -1, words – 1, and opcode is 1000 1010 IAAA AAAA. For Mnemonic like PSHD (Push data memory value on the stack, direct or indirect), the number of cycles -1, words – 1, and opcode is 0111 0110 IAAA AAAA. For Mnemonic like PUSH (Push low ACC onto the stack), the number of cycles -1, words – 1 and opcode is 1011 1110 0011 1100. For Mnemonic like RPT (Repeat next instruction, direct or indirect), the number of cycles -1, words – 1, and opcode is 0000 1011 IAAA AAAA. For Mnemonic like SETC (Set C bit), the number of cycles -1, words – 1 and opcode is 1011 1110 0100 1111. For Mnemonic like SPM (Set product shift mode), the number of cycles -1, words – 1 and opcode is 1011 1111 0000 00PM. For Mnemonic like SST (Store status register ST0, direct or indirect), the number of cycles -1, words – 1 and opcode is 1000 1110 IAAA AAAA. I/O and Memory Instructions The I/O and Memory Instructions of TMS320F/C24x DSP are listed below with a description, a number of cycles, words, and opcode. For Mnemonic like BLDD (Block move from data memory to data memory, direct/indirect with long immediate source), the number of cycles -3, words – 2 and opcode is 1010 1000 IAAA AAAA + 1 word For Mnemonic like BLPD (Block move from program memory to data memory direct/indirect with long immediate source), the number of cycles -3, words – 2 and opcode is 1010 0101 IAAA AAAA + 1 word For Mnemonic like DMOV (Data move in data memory, direct or indirect), the number of cycles -1, words – 1 and opcode is 0111 0111 IAAA AAAA. For Mnemonic like IN (Input data from I/O location, direct or indirect), the number of cycles -2, words – 1and opcode is 1010 1111 IAAA AAAA. + 1 word. For Mnemonic like OUT (Output data to port, direct or indirect), the number of cycles -2, words – 3and opcode is 0000 1100 IAAA AAAA + 1 word. For Mnemonic like SPLK (Store long immediate to a data memory location, direct or indirect), the number of cycles -2, words – 2, and opcode is 1010 1110 IAAA AAAA + 1 word. For Mnemonic like TBLR (Table read, direct or indirect), the number of cycles -3, words – 1 and opcode is 1010 0110 IAAA AAAA. For Mnemonic like TBLW (Table write, direct or indirect), the number of cycles -3, words – 1 and opcode is 1010 0111 IAAA AAAA. DSP Memory Architecture For memory management, conventional DSPs use Von Neumann architecture where equal memory is utilized to store both the data and program. Even though this simple architecture uses a number of processor cycles to execute a single instruction because the same bus is utilized for both program & data. Von Neumann Architecture In order to enhance the operation speed, separate memories were utilized to store both the program & data. A separate set of address & data buses are provided to both memories, so this architecture is known as Harvard Architecture. Harvard Architecture Even though the separate memories utilization for data & the instruction will increase the processing, it will not solve the problem totally. Because many DSP instructions need above one operand, utilization of single data memory can lead to getting the operands continuously, so processing delay will be increased. This issue can be solved with two separate data memories to store operands individually, therefore in a single CLK cycle, both the operands can be simply fetched mutually. Harvard Architecture with Dual Data Memory Even though the above architecture enhances the operation speed, it needs more hardware & interconnections, and the complexity & cost of the system can be increased. As a result, there should be an exchange between the speed & cost when choosing the memory architecture of a digital signal processor. Difference between Digital Signal Processor and Microprocessor The difference between digital signal processors & microprocessors includes the following. Digital Signal Processor Microprocessor It is a specialized microprocessor chip It is a computer processor DSPs are extensively used in telecommunications, audio signal processing, digital image processing, etc Microprocessors are used in PCs for text editing, computation, multimedia display & communication over the Internet. In DSP, instruction can be simply executed in a single CLK cycle. The microprocessor uses several clock cycles for one instruction execution. Parallel execution can be achievable Sequential execution is possible. DSP is suitable for the operation of array processing. It is suitable for general-purpose processing. Addressing modes used in this processor are direct & indirect. Addressing modes used in microprocessors are direct, immediate, register indirect, indirect register, etc. Address generation can be possible by combining program sequencers & DAGs. The program counter or PC can be incremented to produce an address sequentially. It includes three separate computational units: MAC, ALU & Sifter. It includes simply the main unit like ALU. The program flow can be controlled by an instruction register & program sequencer. Program counter can control the execution flow. It includes separate data & program memories. It doesn’t have separate memories. In DSP, several operands are fetched at once. In a microprocessor, the operand can be fetched serially. In DSP, address & data bus are multiplexed In a microprocessor, address & data bus are not multiplexed. Advantages The advantages of a digital signal processor include the following. Overall noise is less. Possibility of error detection & correction. Simple data storage. Digital signals are simple to encrypt. Transmission of more data is possible. In digital processing systems, modifying a few commands otherwise change a few code lines is easy to modify. DSP systems work through a broader range of frequencies. In a digital system, the DSP can be cascaded without any loading issues. The operations of DSP can be simply changed by altering the program within a digital programmable system. By using the DSP method, a complicated signal processing algorithm can be simply implemented. DSPs are lightweight & more compact. DSP systems are upgradeable because they are controlled by software. Disadvantages The disadvantages of a digital signal processor include the following. Digital communications need high bandwidth to transmit the data as compared to analog. Most of the digital signal processors are expensive. The DSP system complexity will be increased due to the usage of additional components. Digital signal processor uses several transistors which consume more power as compared to analog signal processors. The hardware architecture & software instructions of each DSP are different so required highly skilled engineers to program the device. Applications The applications of a digital signal processor include the following. DSP applications mainly include processing of audio & speech, radar, sonar & other sensor array processing, statistical signal processing, spectral density estimation, data compression, digital image processing, audio coding, video coding, image compression, signal processing for control systems, telecommunications, seismology, biomedical engineering, etc. Thus, a digital signal processor is a specialized microprocessor. The main function of this processor is to measure, and compressor filter analog signals. Usually, digital signal processors have better power efficiency, so they are mostly used in portable devices like mobile phones due to power utilization constraints. These processors frequently use special memory architectures to fetch multiple data otherwise instructions simultaneously. Here is a question for you, what is digital signal processing? Share This Post: Facebook Twitter Google+ LinkedIn Pinterest Post navigation ‹ Previous What is PTC Thermistor : Working & Its ApplicationsNext › What is Matched Filter : Working & Its Applications Related Content Kogge Stone Adder : Circuit, Working, Advantages, Disadvantages & Its Applications Brent Kung Adder : Circuit, Working, Advantages, Disadvantages & Its Applications Inverting Summing Amplifier : Circuit, Working, Derivation, Transfer Function & Its Applications Active Band Pass Filter : Circuit, Types, Frequency Response, Q Factor, Advantages & Its Applications