Module 5
Module 5
Subject Code & Name: ECB1224 DIGITAL SIGNAL PROCESSING Regulation : R2023
Year/Branch/Sec. : III /ECE/ A, B, C, D Batch : 2023-2027
Module 5
5.1 Introduction
A DSP processor (Digital Signal Processor) is a specialized microprocessor designed specifically to
process and manipulate real-time digital signals efficiently. DSP (Digital Signal Processor) architectures
are optimized for high-speed numeric processing, commonly used in real-time signal processing tasks like
• Audio and speech processing
• Image and video compression
• Communications
• Biomedical signal analysis
DSPs are designed with:
• Specialized instruction sets
• Fast multiply-accumulate (MAC) units
• Parallel processing features
• Low-latency memory access
Key Characteristics of DSPs:
• Fast Multiply-Accumulate (MAC) operations
• Multiple execution units for parallelism
• Special addressing modes (e.g., circular, bit-reversed)
• Real-time processing capabilities
• Low power consumption in embedded systems
Advantages for DSP:
• Simultaneous access to instructions and data → faster execution
• Pipeline-friendly: Supports instruction fetch while executing previous instructions
• Reduced memory contention
1. CPU: CPU is an electronic circuit unit which is responsible for the execution of the instruction of a computer
program. The central processing unit is the primary component of a computer system that processes instructions.
It runs the OS and applications, constantly receiving input from the user or active software programs.
2. Registers: It is a kind of memory wont to quickly accept, store, and transfer data and directions that are
getting used immediately by the central processing unit.
MAR Memory Address Register Holds the memory location of data that needs to be accessed
MDR Memory Data Register Holds data that is being transferred to or from memory
AC Accumulator Where intermediate arithmetic and logic results are stored
CIR Current Instruction Register Contains the current instruction during processing
3. ALU: Arithmetic Logic Unit is responsible for all the calculations required such as Multiplication, Addition,
Subtraction, comparison, Logical operators and other arithmetic operators.
4. Control Unit (CU): CU is also a part of the central processing unit (CPU). CU operates all the processor
control signals, Input/output devices, movement of data and instructions within the systems.
5. Buses: It is used as a signal pathway for instructions and data. in this architecture, It is used to connect all the
components of the computer’s CUP and Memory unit.
6. Memory Unit: The memory unit consists of Random-access memory (RAM), sometimes mentioned as
primary or main memory. Unlike a tough drive (secondary memory), this memory is fast and also directly
accessible by the CPU. RAM is split into partitions. Each partition of it consists of an address and its contents.
The address will uniquely identify every location within the memory. Loading data from permanent memory
(hard drive), into the faster and directly accessible temporary memory (RAM), allows the CPU to work much
quicker.
It has more internal buses and on-chip peripherals, large size ALU and very rich instruction set than the
TMS320C5x family.
This processors can execute 40 to 120 Million Instruction Per-Second (MIPS).
Features of TMS320C54x
➢ Advanced multibus architecture with three separate 16-bit data memory buses and one program
memory bus
➢ 40-bit arithmetic logic unit (ALU), including a 40-bit barrel shifter and two independent 40-bit
accumulators
➢ 17- × 17-bit parallel multiplier coupled to a 40-bit dedicated adder for nonpipelined single-cycle
multiply/accumulate (MAC) operation
➢ Compare, select, and store unit (CSSU) for the add/compare selection of the Viterbi operator
➢ Exponent encoder to compute an exponent value of a 40-bit accumulator value in a single cycle
➢ Two address generators with eight auxiliary registers and two auxiliary register arithmetic units
(ARAUs)
➢ Data buses with a bus holder feature
➢ Extended addressing mode for up to 8M × 16-bit maximum addressable external program space
➢ Single-instruction repeat and block-repeat operations for program code
➢ Block-memory-move instructions for better program and data management
➢ Instructions with a 32-bit-long word operand
➢ Instructions with two- or three-operand reads
➢ 5V and 3V operation with Power dissipation mode and power down mode
The TMS320C5x family of processors are available in the following plastic packages.
• 100/128/144 pins TQFP (Thin Quard Flat Package) and BGA package
• 144 pins BGA (Ball Grid Array) package.
Accumulators
• The CPU contains two 40 bit Accumulator: ACCA and ACCB, which stores the output from the ALU
or the multiplier / adder block .
• Accumulators can also provide a second input to the ALU or the multiplier / adder.
• Each accumulator is divided into three parts:
o Guard bits (bits 32-39)
o A high-order word (bits 16-31)
o A low-order word (bits 0 -15)
• Also, any of the accumulators can be used as temporary storage for the other.
Barrel shifter
• Barrel shifter has a 40-bit input connected to the accumulator or data memory (CB, DB) and a 40-bit
output connected to the ALU or data memory (EB).
• The barrel shifter produces a left shift of 0 to 31 bits and a right shift of 0 to 16 bits on the input data.
• The shift requirements are defined in the shift-count field (ASM) of ST1 or defined in the temporary
register (TREG), which is designated as a shift-count register.
• This shifter and exponent detector normalize the values in an accumulator in a single cycle.
• Prescaling of the memory/ accumulator operand before an ALU operation
• Logical or arithmetic shifting of accumulator value
• Normalizing the accumulator.
• Post scaling the accu before storing in memory.
• The least significant bits (LSBs) of the output are filled with 0s and the most significant bits (MSBs)
can be either zero-filled or sign-extended, depending on the state of the sign-extended mode bit (SXM)
of ST1.
• Additional shift capabilities enable the processor to perform numerical scaling, bit extraction,
extended arithmetic, and overflow prevention operations.
Multiplier/Adder :
• The multiplier / adder performs 17 × 17-bit 2s-complement multiplication with a 40-bit accumulation
in a single instruction cycle.
• The multiplier / adder block consists of several elements: a multiplier, adder, signed/unsigned input
control, fractional control, a zero detector, a rounder (2s-complement), overflow/saturation logic, and
TREG.
• The multiplier has two inputs:
• one input is selected from the TREG, a data-memory operand, or an accumulator.
• Other is selected from the program memory, the data memory, an accumulator, or an
immediate value.
• The multiplier and ALU together execute multiply/accumulate (MAC) computations and ALU
operations in parallel in a single instruction cycle , to perform operations such as convolution,
correlation, and filtering, In addition Euclid distance and in implementing symmetrical and least mean
square (LMS) filters, which are required for complex DSP algorithms.
On Chip Memory
The minimum memory address range for the '54x devices is 192K words
• 64K words in program space,
• 64K words in data space
• 64K words in I/O space.
The program memory space contains the instructions to be executed as well as tables used in execution.
The data memory space stores data used by the instructions.
The I/O memory space interfaces to external memory-mapped peripherals and can also serve as extra data
storage space. The '54x DSPs provide both on-chip RAM and ROM to improve system performance and
integration.
• The direct memory access (DMA) controller transfers data between points in the memory map without
intervention by the CPU.
• The DMA allows movements of data to and from internal program/data memory, on-chip peripherals,
or external memory devices to occur in the background of CPU operation.
• The DMA has six independent programmable channels, allowing six different contexts for DMA
operation.
On-Chip Peripherals
All the C54x devices have a common CPU, but different on-chip peripherals are connected to their CPUs.
Serial Ports
• The ’54x devices provide high-speed, full-duplex serial ports that allow direct interface to other ’54x
devices, codecs, and other devices in a system.
• There is a standard serial port, a time-division-multiplexed (TDM) serial port, a buffered serial port
(BSP), and a multichannel buffered serial port (McBSP).
Standard Serial Port
• The general-purpose serial port utilizes two memory-mapped registers for data transfer: the data-
transmit register (DXR) and the data-receive register (DRR).
• Both of these registers can be accessed in the same manner as any other memory location. The transmit
and receive sections of the serial port each have associated clocks, frame-synchronization pulses, and
serial-shift registers; and serial data can be transferred either in bytes or in 16-bit words.
• Serial port receive and transmit operations can generate their own maskable transmit and receive
interrupts (XINT and RINT), allowing serial-port transfers to be managed through software.
TDM Serial Port
• The TDM port allows the device to communicate through time-division multiplexing with up to seven
other ’54x devices with TDM ports.
• Time-division multiplexing is the division of time intervals into a number of subintervals with each
subinterval representing a prespecified communications channel.
• The TDM port serially transmits 16-bit words on a single data line (TDAT) and destination addresses
on a single address line (TADD).
• Each device can transmit data on a single channel and receive data from one or more of the eight
channels, providing a simple and efficient interface for multiprocessing applications. A frame
synchronization pulse occurs once every 128 clock cycles, corresponding to the transmission of one 16-
bit word on each of the eight channels. Like the general-purpose serial port, the TDM port is double-
buffered on both input and output data.
Buffered Serial Port (BSP)
• The buffered serial port (BSP) consists of a full-duplex, double-buffered serial-port interface and an
autobuffering unit (ABU).
• The serial port block of the BSP is an enhanced version of the standard serial port. The ABU allows the
serial port to read/write directly to the ’54x internal memory using a dedicated bus independent of the
CPU. This results in minimal overhead for serial port transactions and faster data rates.
• When autobuffering capability is disabled (standard mode), serial port transfers are performed under
software control through interrupts.
Hardware Timer
• The C54x device features a 16-bit timing circuit with a 4-bit prescaler.
• The timer counter is decremented by 1 at every CLKOUT cycle.
• Each time the counter decrements to 0, a timer interrupt is generated.
• The timer can be stopped, restarted, reset, or disabled by specific status bits.
[Link] Addressing:
• In this mode instruction contains specific address.
• The specified address may be for a data memory location. (Program memory location, port address or
a location in the data space specified directly we have
o Dmad addressing: Data Memory location Addressing
o Pmad addressing: Program Memory location Addressing
o PA addressing: Port Addressing
o *(lk) addressing : long Immediate Addressing
• Example:
1. MVKP 1000h, *AR3
1000h assigned to the register AR3
2. MVPD 2000h,*AR7;
Assigning the value 2000h to AR 7
4. LD *(10001), Α:
Assigning the address 10001 to Accumulator directly.( the bracket indicates directly)
[Link] addressing.
• This mode uses the accumulator contents as the address and is used to move data between a program
memory location and a data memory location
• Least significant 16 bits of the accumulator (A or B) as an address pointer for memory access,
similar to an auxiliary register like AR0–AR7.
• Examples of instructions in this mode are READA and WRITA.
• READA transfers a word from a program-memory location specified by accumulator A to-a data-
memory location.
• WRITA transfers a word from a data-memory location specified by accumulator A to Program-
memory location.
• READA *AR2
o Assume 50h in A → *AR2
[Link] Addressing
• In the direct addressing mode is generated using Data Address Generator (DAGEN) with respect to
two case compiler mode bit (CPL) = ‘ 0 ’ or ‘1’.
• Using this form of addressing, one can access a 128 pages contiguous locations without changing the
DP or the SP
• If CPL = 0, then Effective Addressing EA or 16-bit address of the data-memory location is formed by
combining the 7 bits of the data-memory address(lR) as least significant bits with 9 bit address given
by the data-page pointer (DP) .
9 bit from DP 7 bits from lR
• If CPL = 1, then Effective Addressing EA or 32-bit address of the data-memory location is formed by
adding 16 bits of the data-memory address with 16 bit Stack pointer (SP) value .(to generate new 32
Bit address).
Example. When (CPL-0) to add the contents of the memory location 0 on page 4 in the data memory
to accumulator B, we use the following instruction sequence.
[Link] addressing.
• In indirect addressing, any location in the data space can be accessed by means of an address
contained in an auxiliary register. The '54xx devices have eight 16-bit auxiliary registers (ARO-AR7).
Indirect addressing is used when there is a need to step through a sequence of locations in the memory
in fixed-sized steps.
• Two auxiliary register arithmetic units (ARAU0 and ARAU1) are used to modify the contents of the
auxiliary registers for the indirect addressing mode.
• They perform unsigned, 16-bit arithmetic operations. The auxiliary registers can be loaded with an
immediate value, loaded via the data bus, and modified by the indirect addressing field of any
instruction that supports indirect addressing or by the modify auxiliary register (MAR) instruction and
used as loop counters.
• Figure shows how ARAUs are used to generate an address in the indirect addressing mode using a
single data-memory operand. An address can be modified before or after accessing the location or can
be left unchanged. Modification can be by incrementing or decrementing the address by 1, adding a
10-00 offset or indexing with the value in ARO. Each of these modification carried out before or after
accessing the memory location.
Example 1
Assuming the current contents of AR3 to be 200h, what will be its contents after each of the following
TMS320C54xx addressing modes is used? Assume that the contents of ARO are 20h.
a. *AR3+0
b. *AR3-0
c. *AR3+
d. *AR3-
e. *AR3
f. *+AR3(40h)
g.*+AR3(-40h)
Solution a. AR3 AR3 + ARO; A
R3200h+ 20h = 220h.
c. AR3 AR3+1;
AR3200h+1=201h
d. AR3 AR3 -1;
AR3200h-1 = 1FFh.
7. Bit-Reversed Addressing
Bit-reversed addressing is used in FFT algorithms. In this addressing mode, ARO specifies one half of
the size of the FFT. An auxiliary register points to the physical location of a data value. The address of the
next location is generated by adding, in a bit-reversed manner, ARO and the other specified auxiliary register.
In the bit-reversed addition, the carry bit propagates from left to right, instead of right to left as in the regular
add.
Example 5.3
Assuming the current contents of AR3 to be 200h, what will be its contents after each of the following
TMS320C54xx addressing modes is used? Assume that the contents of ARO are 20h.
a. A R3+OB
b. A R3-OB
Solution
a. A R3 leftarrow AR3+AR0 with reverse carry propagation; AR * 3 = 200h + 20h (with reverse carry
propagation) = 220h ,
Instruction Set
[Link] operations
4. Program-control operations
1. Branch instruction: ex В, ВАСС
2. Call instruction: ex CALL, CALA
3. Interrupt instruction: ex INTR, TRAP
4. Return instruction: ex RET, FRET
5. Repeat instruction: ex RPT, RPTB
6. Stack manipulating: ex PUSH, POP
[Link] PC instruction: ex IDLE, RESET
TMS320C6xARCHITECTURE
• The TMS320C6711 is a floating -point processor based on the VLIW architecture.
• Internal memory includes a two-level cache architecture with 4kB of level 1 program cache(L1P),
4kB of level 1 data cache (L1D), and 64kB of RAM or level 2 cache for data/program
allocation(L2).
• It has a direct interface to both synchronous memories and asynchronous memories.
Key Features
• VelociTI advanced very long instruction word (VLIW) architecture
• Load/store architecture
• Instruction packing for reduced code size
• 100% conditional instructions for faster execution
• Intuitive, reduced instruction set computing (RISC)-like instruction set
• CPU
• Eight independent functional units (including two 16-bit multipliers with 32-bit results
and six arithmetic logic units [ALUs] with 32-/40-bit results)
• 32 32-bit registers
• 1600 million instructions per second (MIPS)
• Five-ns cycle time
• Up to eight 32-bit instructions per cycle
• Byte-addressable 8-, 16-,
• 32-bit data 32-bit address range
• Dual-endian support
• Saturation
• Normalization
• Bit-field instructions (extract, clear, left most bit detection)
• Memory/peripherals
• Synchronous external memory interface (EMIF)
• Two multichannel serial ports (MCSPs)
• Four-channel direct memory access (DMA)
• Two timers
• X4 phase-locked-loop (PLL) option
• Host-port interface (HPI)
• 1M-bit on-chip memory (divided into 2K by 256 bits of program memory and 64K bytes
of data memory)
• 352-pin ball-grid array package
Central Processing Unit (CPU)
• The 'C6x central processing unit (CPU) is the central building block of all the TMS320C62xx devices.
The CPU contains:
o Program fetch unit
o Instruction dispatch unit
o Instruction decode unit
o 32 general-purpose 32-bit registers
o Two data paths-each with four functional units, including one multiplier and three arithmetic
logic units (ALUs) on each data path
o Control registers
o Control logic
o Test, emulation and interrupt logic
• The CPU has two data paths where processing occurs. Each data path has four functional units and a
register file containing 16 32-bit registers. The functional units execute logic, shifting, multiply, and
data address operations.
• Each path has a unit for – multiply operations(.M), – logical and arithmetic operations(.L), – branch,
bit manipulation, and arithmetic operations (.S), – loading/storing and arithmetic operations(.D).
• The .S and .L units are for arithmetic, logical, and branch instructions.
• All data transfers make use of the .D units.
Internal Memory
• The internal memory consists of 512K bits of on-chip program/cache memory and 512K bits of on-
chip data memory.
• The program memory, configurable as cache or program, is organized in 2K of 256-bit fetch packets.
The 'C6201 fetches all instructions one fetch packet at a time. The packets are processed at the
maximum rate of one packet (eight 32-bit instructions) per CPU cycle or at a minimum of one
instruction per cycle.
• The internal data memory is byte addressable by the CPU (for reads as well as writes) and supports
bytes, halfwords, and full word transfers.
• Data-Memory System
o The TMS320C62xx data-memory system includes SRAM and a memory controller.
o The CPU can access data memory in 8-bit byte, 16-bit halfword, and 32-bit word-lengths.
o The data memory system supports two memory accesses per cycle. These accesses can be any
combination of loads and stores from the two data buses of the CPU.
o Similarly, a simultaneous internal and external memory access is supported by the data
memory system.
o The TMS320C62xx data memory system also supports direct-memory access (DMA) and
external host accesses.
• Program-Memory System
o The TMS320C62xx program-memory system includes on-chip SRAM and a memory/cache
controller.
o The program memory can operate as either an internal program memory or as a directly
mapped program cache.
o There are four modes under which the program memory system operates: Program-memory
mode, Cache-enable mode, Cache-freeze mode, Cache-bypass mode .
o The DMA can write data into an addressed space of program memory. The DMA cannot read
from the internal program memory in program memory mode.
On chip Peripherals
In addition to on-chip memory, the TMS320C6201 contains the following peripherals: External memory
interface (EMIF) Direct-memory access (DMA) controller Host-port interface (HPI) Power-down logic Two
multichannel serial ports (MCSPs) Two 32-bit timers.
External Memory Interface (EMIF)
• All external data accesses by the CPU or DMA pass through the external memory interface (EMIF).
The EMIF is the interface between the CPU and external memory such as synchronous dynamic
random-access memory (SDRAM), synchronous-burst static RAM (SBSRAM), and asynchronous
memory.
• The EMIF also provides 8-bit and 16-bit wide memory read capability to support low-cost boot ROM
memories (flash, EEPROM, EPROM, and PROM).
• The interface is programmable to adapt to a variety of setup, hold, and strobe widths for asynchronous
devices. SBSRAM supports zero-wait-state external access once bursts have begun. In all these types
of access, the EMIF supports 8-bit, 16-bit, and 32-bit addressability for writes. All reads are performed
as 32-bit transfers.
Direct-Memory Access (DMA)
• The on-chip DMA offers four independent, programmable channels that can be configured to transfer
information from one location in the memory map to another without interfering with the operation of
the CPU.
• This allows interfacing to slow external memories and peripherals without reducing the throughput to
the CPU. The DMA controller contains its own address generators, source and destination registers,
and transfer counter.
• The DMA has its own bus for addresses and data to keep the data transfers between memory and
peripherals from conflicting with the CPU.
• A DMA operation consists of a 32-bit word transfer to or from any of the three `C62xx modules:
Internal data memory Internal program memory that is not configured as cache as a destination of a
transfer EMIF One of the DMA channels can be used by the processor during the boot load startup
procedure to initialize the internal program memory after reset.
• The DMA channels can be used to write to internal program memory. The boot loader uses the DMA
to boot load code from off-chip memory to the internal program memory area. An external pin
(sampled at reset) selects whether this boot load is performed. The serial port can also be used for
booting.
• The DMA controller can access all internal program memory, all internal data memory, and all devices
mapped to the EMIF. However, the DMA cannot use program memory as the source of a transfer and
it cannot access memories configured as cache or memory-mapped on-chip peripheral registers. See
the data sheet for the specific device to find the memory mapping of DMA control registers.
• These registers are 2-bits wide and must be accessed through 32-bit accesses from the CPU.
Host-Port Interface (HPI)
• The HPI is a parallel port that can access the CPU memory space directly as an asynchronous
interface.
• A host (external) processor can read from and write to the internal data memory through the 16-bit-
wide access of the HPI.
• The HPI can boot load the CPU as well as access the full range of the 'C6201 memory.
• Also, the HPI offers improved performance and can operate without impacting CPU performance.
Power-Down Logic
• The 'C62xx supports three power-down modes (Idle1, 2, and 3) that can reduce system power
requirements significantly.
o Idle1 halts the CPU except for the interrupt logic.
o Idle2 halts the CPU and the peripherals (except for the interrupt logic).
o Idle3 halts the phase-locked loop (PLL), stopping the clock tree from switching, which
effectively halts the entire chip. Idle 3 requires a reset to wake up the device, while the other
two modes can be restored using an interrupt or reset.
• The basic idea of SBC is to save signal bandwidth by throwing away information about frequencies
which are masked.
• A variety of techniques have been developed to efficiently represent speech signals in digital form for
either transmission or storage. Since most of the speech energy is contained in the lower frequencies,
we would like to encode the lower-frequency band in more bits than the high-frequency band. Sub-band
coding is a method where the speech signal is subdivided into several frequency bands and each band is
digitally encoded separately with different number of bits.
• In the sub band-coding system the input signal, after being sampled at its Nyquist rate, is divided into
channels by first being passed through a bank of low pass and high pass filters. The output of each filter
is decimated to a rate determined by the number of sub bands and then each of these channel outputs are
encoded separately.
• At the receiver the signals, after being decoded, are interpolated back to the original sampling rate by a
bank of interpolation filters and then are summed to reconstruct the input signal.
Analysis
• Source output is passed through a bank of filters (analysis filters)
• Analysis filters cover the range of frequencies that make up source output
• Passband of the filters can be non-overlapping or overlapping
• Output of filters are then subsampled (also called decimation or downsampling)
• Justification for subsampling: Nyquist rule (range of frequencies of output of the filter is less than input to
the filter)
Quantization, coding and bit allocation
• Selection of compression scheme and allocation of bits between subbands is important and can have
significant impact on the quality of the final reconstruction Synthesis
• Encoded samples from each subband are decoded
• Decoded values are then upsampled by inserting an appropriate number of 0s between samples
• Upsampled signals are passed through a bank of reconstruction filters
• Output of reconstruction filters are added to give final output
• In the above block diagram the input signal is a speech signal, which is passed through the low pass
and high pass filter to split the signal into lower and higher frequency bands.
• These two signals are down sampled by two in the next step.
• This down sampled signal by two is further passed through low and high pass filters respectively.
• Finally 4 signals are down sampled by 2, to get the 4 bands of signal. These four bands of signal are
transmitted. Since most of the voice signals are present in the lower frequency bands, bands B2(n) and
B3(n) will contain less information than compared to B0(n) and B1(n).
In many applications, a discrete-time signal x[n] is first split into a number of sub band signals by means of an
analysis filter bank; the sub band signals are the sub band signals are then processed and finally combined by a
synthesis filter bank resulting in an output signal y[n].If the sub band signals are band limited to frequency
ranges much smaller than that of the original input signal, they can be downsampled before processing. Because
of the lower sampling rate, the processing of the down-sampled signals can be carried out efficiently. After
processing, these signals are upsampled before being combined by the synthesis bank into a higher-rate signal.
The combined structure employed is called a Quadrature-mirror filter (QMF) bank.
If the downsampling and up-sampling factors are equal to or greater than the number of bands of the filter bank,
then the output y[n] can be made retain some or all of the characteristics of the input x[n] by properly choosing
the filters in the structure.
• The two channel Quadrature Mirror Filter (QMF) bank is multirate digital filter structure that employs
two down- samplers in the “signal analysis” section and two upsamplers in the “signal synthesis”
section. T
• The input signal x[n] is first passed through a two-band analysis filter bank containing the low pass and
high pass filters with frequency responses H0(z) and H1(z) .
• Their corresponding impulse responses are h0(n) and h1(n) respectively, with a cutoff frequency at π/2,
as shown in the fig. The frequency response characteristics of QMF bank.
• The sub-band signals V0 (n) and V1 (n) are then down-sampled by a factor of 2. Each down-sampled
sub band signal is encoded by exploiting the special spectral properties of the signal, such as energy
levels and perceptual importance.
• The coded sub-band signals are combined into one sequence by multiplexing and either stored for later
retrieval or transmitted. At the receiving end, the coded sub-band signals are first recovered by
demultiplexing and decoders are used to produce approximations of the original down-sampled signals.
• The decoded signals are then up-sampled by a factor of 2 and passed through the synthesis filter bank
composed of the low pass and high pass filters whose frequency responses are F0(z) and F1(z) whose
outputs are then added yielding y[n]. It follows from the figure that the sampling rates of the input signal
x[n] and output signal y[n] are the same. The analysis and the synthesis filters in the QMF bank are
chosen so as to ensure that the reconstructed output y[n] is a reasonable replica of the input x[n].
• The discrete input signal x(n) into two subband signals having equal bandwidth, using the low-pass
and high-pass analysis filters H0(z) and H1(z), respectively. These subband signals are decimated by a
factor of two to achieve signal compression or to reduce processing complexity. The decimated signals
are typically coded and transmitted.
• At the receiver, the two subband signals are decoded and then interpolated by a factor of two and
finally passed through low-pass and high-pass synthesis filters, F0(z) and F1(z), respectively. The
outputs of the synthesis filters are combined to obtain the reconstructed signal .
• The reconstructed signal suffers from three types of errors: aliasing distortion (ALD), amplitude
distortion (AMD), and phase distortion (PHD), due to the fact that the filters H0(z), H1(z), F0(z),
and F1(z) are not ideal.
•
In most of applications, a common requirement is that reconstructed signal should be “as close” to x(n)
as possible. Therefore the main stress of most of the researchers while designing filters for the QMF bank has
been on the elimination or minimization of the three distortions to obtain a perfect reconstruction (PR) or
nearly perfect reconstruction (NPR) system.
The two-channel QMF bank structure is known as critically sampled filter bank as decimation, and
interpolation factors are equal to number of bands. The frequency responses of the analysis filters H0(z)
and H1(z), are shown in Figure 2. |H0(ejω)| is a mirror image of |H1(ejω)| with respect to the quadrature
frequency π/2; this has given rise to the name quadrature mirror filter bank.
[Link] Vocoder
• Vocoder is an audio processor that is used to transmit speech or voice signal in the form of digital
data. The vocoder is used as short form for voice coder.
• Vocoders are basically used for digital coding of speech and voice simulation. The bitrate for available
narrowband vocoders is from 1.2 to 64 kbps.
• Vocoder operates on the principle of formants. Formants are basically the meaningful components of
a speech that is generated due to the human voice.
Vocoders are used for voice synthesis. The vocoder takes two signals and creates a third signal using the
spectral information of the two input signals. It aims to emblem the amplitude and frequency characteristic of
speech signal onto the synthesis signal, while maintaining the pitch of the speech signal.
A voice model is used to simulate voice. As speech contains a sequence of voiced and unvoiced sounds, this
is the basis for the operation of a voice model.
Before proceeding further, it is better to first understand what is voiced and unvoiced sounds.
Voice sounds are basically the sounds generated by vibrations of the vocal cords.
On contrary, the sound produced at the pronunciation of the letters such as ‘s’, ‘p’ or ‘f’ is known as unvoiced
sounds. Unvoiced sounds are generated by expelling air through lips and teeth.
LPC is extensively used in case of speech and music application. LPC is an acronym for Linear Predictive
Coding. It is basically a technique to estimate future values. In simple words we can say, by analysing two
previous samples it predicts the outcome.
Vocoder is comprised of voice encoder and decoder. Let us now discuss the operation of each in detail-
Voice Encoder
The figure given below shows the block diagram of voice encoder
The frequency spectrum of the speech signal (200Hz – 3200Hz) is divided into 15 frequency ranges by using
15 Bandpass filter (BPF) each having bandwidth range of 200Hz. The output of BPF acts as input for the
rectifier unit.
Here, the signal is rectified and filtered so as to produce a dc voltage. This generated dc voltage is
proportional to the amplitude of AC signal present at the output of the filter.
The input of the frequency discriminator is the speech signal. Frequency discriminator unit is followed by a
Low pass filter(LPF) of 20Hz. This LPF generates a dc voltage proportional to the voice frequency. The
frequency represents nothing else than the pitch of the voice.
This dc voltage also indicates whether the speech is voiced or unvoiced.
Now, the output at all the LPF’s is dc voltage which is sampled, multiplexed and A/D converted. So, we have
a digital equivalent of the speech signal at the output of the encoder. This encoded voice signal consists of
frequency component from 200Hz to 3200Hz, information regarding the pitch of the speech and whether it is
voiced or unvoiced.
Voice Decoder
The digital voice signal generated by the voice encoder is firstly decoded. Then voice decoder using a speech
synthesizer produces voice signal at its output. It generally generates an approximate voice signal.
The plot extraction and plot processing elements are the final stage in the primary radar sensor chain. The
essential process is that of generating and processing plots as distinct from processing waveforms. The main
components are:
• the plot extractor or hit processor (translates hits from the signal processor to plots),
• the plot processor (combines primary radar plots and minimises false plots) and
• the plot combiner (combines primary and secondary plots, uses complementary features to minimise
false alarms).
Figure 2: The Plot Extraktor A 1000 contains all devices of the radar signal processing.
(© Aerotechnica Ltd.)
The radar data chain can include the following devices:
• a sensor tracker (it combines some plots of a target to a track), and
• the Multiple Sensor tracker (it combines plots or tracks of other radar sensors).
(The distinction between a correlator and a tracker being, that in the case of a correlator the plot positions are
not changed by the process.)
Some of these devises can carried out as a software-modul after the digitalizing of the radar data. The Plot
Extractor of the Ukrainian company Aerotechnica corporation (see the picture) is a Radar Data Extractors for
all types of radars an is designed to upgrade analog radars.