|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1IntroductiontoReal-TimeDigitalSignalProcessing 1' k& w6 s# C# ?$ [1 F
1.1BasicElementsofReal-TimeDSPSystems2
3 J2 k- N/ {# s* V, b. c' E1.2AnalogInteRFace3 T! x; `' k% i3 q2 `' M( C B! c3 v) r
1.2.1Sampling3( O5 ~# ~, O* O) R
1.2.2QuantizationandEncoding7 h0 y: Q3 D! X# }# W/ }, g- z
1.2.3SmoothingFilters8
( H# ?& z: n" {1.2.4DataConverters9
3 Y& C( B) y+ j# i' A) J7 Q; @1.3DSPHardware10
" Y0 {) N4 z. K) Z, T, Z1.3.1DSPHardwareOptions109 ~( }) U5 I9 g
1.3.2DSPProcessors13
0 v; T; s4 A! Z D* K% [3 E1.3.3Fixed-andFloating-PointProcessors156 Y+ V5 C/ ?. b" C* x+ m
1.3.4Real-TimeConstraints16
* S! u; o& v: z |5 {1.4DSPSystemDesign17
+ P$ r" Z$ }; Y. P1.4.1AlgorithmDevelopment18+ f. N! _% ~9 F: T* G
1.4.2SelectionofDSPProcessors19
' U( a' a+ O' A0 S/ U4 d1.4.3SoftwareDevelopment20
, C" v2 }! W2 ?7 \1.4.4High-LevelSoftwareDevelopmentTools21
; y6 Y7 e& B U( h$ X! t& E# r# Z* t1.5IntroductiontoDSPDevelopmentTools22
8 ^) _$ | A v1.5.1CCompiler22
% U0 d+ I# o% g4 d9 D1.5.2Assembler235 o# v7 x. M3 M8 N( |& Y( G1 Q
1.5.3Linker24
# m# a% t, h4 q$ Z; C/ B. l7 j1 Y9 y1.5.4OtherDevelopmentTools25
! f0 Y V' I+ |% _5 s1.6ExperimentsandProgramExamples25
! F6 W: W, x; [* ? d& J6 \% |1.6.1ExperimentsofUsingCCSandDSK26" c% w7 B9 G, S- ~- |6 F( ~
1.6.2DebuggingProgramUsingCCSandDSK29 }9 c G3 b% W% S7 x
1.6.3FileI/OUsingProbePoint32
0 @7 H/ F6 H/ H5 o1.6.4FileI/OUsingCFileSystemFunctions35
% R W' R0 y* L- [/ c- K7 j2 z1.6.5CodeEfficiencyAnalysisUsingProfiler37
" F, ?" m4 ~) F8 l2 c# V* m1.6.6Real-TimeExperimentsUsingDSK39, H$ i# L, a' N; K
1.6.7SamplingTheory42+ x; \# q9 G8 f5 c
1.6.8QuantizationinADCs449 u) Q8 a! U7 L( c
References 45: W( l' r7 a) t% x3 }8 T+ N; d1 h
Exercises 45vi CONTENTS
% S+ ^& C7 V) C2IntroductiontoTMS320C55xDigitalSignalProcessor 49
- X6 r: C* z5 ^: q& ?2.1Introduction49
' m. t( e. O0 X) U2.2TMS320C55xArchitecture507 z3 A) a" r# ]$ Y, B* o2 R4 V/ K
2.2.1ArchitectureOverview50
: a, R B' d' U# h2.2.2Buses53' i) ^( |$ Q( d& v* E
2.2.3On-ChipMemories53" O& e: j1 V# o7 N' H! o
2.2.4Memory-MappedRegisters55
' P8 b5 m+ e- V( L2 W' ]+ Z( v: X2.2.5InterruptsandInterruptVector55' N4 h! o, T# s0 e
2.3TMS320C55xPeripherals58
" L5 C; z8 `" F" _, e/ @2.3.1ExternalMemoryInterface60
J' j; v6 K; h0 I2 m) h2.3.2DirectMemoryAccess60
5 e; N6 i% T% r4 \0 v7 f6 i) D6 o2.3.3EnhancedHost-PortInterface61
* i" U0 Y' E8 c2.3.4Multi-ChannelBufferedSerialPorts62) G/ v& y( r* K8 d p2 }; I" R* |
2.3.5ClockGeneratorandTimers656 f/ d2 f0 @" S8 p4 d! k, H
2.3.6GeneralPurposeInput/OutputPort65
/ g8 z) U9 t9 m" f2.4TMS320C55xAddressingModes650 U3 \, g9 i" k1 s6 {
2.4.1DirectAddressingModes66* K4 o# k# E& k" a1 z" G
2.4.2IndirectAddressingModes68) M* c9 `) ^ r
2.4.3AbsoluteAddressingModes70; X, Q+ M5 ^- F& o! C) b
2.4.4Memory-MappedRegisterAddressingMode70
0 t$ X7 I/ p7 w2 [ W; k1 ]0 m2.4.5RegisterBitsAddressingMode71. K' E4 B8 U9 F( f/ `8 A% N& B
2.4.6CircularAddressingMode72
) h9 L! {6 z/ W# ]" G6 E8 E. ]2.5PipelineandParallelism73
( E$ U+ m9 ], b7 y' p# T2.5.1TMS320C55xPipeline73; G) l. d$ L' a7 W* r! {4 Z
2.5.2ParallelExecution74
2 b% k: \( m1 h9 s2.6TMS320C55xInstructionSet76& T1 k" |8 P( {4 ?6 ]# O8 @& k
2.6.1ArithmeticInstructions76
5 f+ d& k3 I/ Y; o2.6.2LogicandBitManipulationInstructions77
8 H' i4 q5 _4 O2.6.3MoveInstruction78
( z- P" H \5 g% w' U+ _2.6.4ProgramFlowControlInstructions78
G9 E. v: L0 Y. @2.7TMS320C55xAssemblyLanguageProgramming82
0 r; b3 j8 q+ p! B# `) ?" } j2.7.1AssemblyDirectives82
: J( Y( \! }' J: y2.7.2AssemblyStatementSyntax84
& g; K' r3 F' U7 n& V O3 n2.8CLanguageProgrammingforTMS320C55x86
2 ~, }& `& ~7 _2.8.1DataTypes86' k/ Y9 I8 c8 G
2.8.2AssemblyCodeGenerationbyCCompiler87
1 x' e& Z1 i+ u( W6 A5 ?, F2.8.3CompilerKeywordsandPragmaDirectives89. f1 H4 E- g: y4 |, Q6 H
2.9MixedC-and-AssemblyLanguageProgramming90
9 |3 H+ k$ \/ Y P( I' L. p2.10ExperimentsandProgramExamples933 Z( k% ~; l5 H( I1 Q5 _ M
2.10.1InterfacingCwithAssemblyCode93* A0 f8 Y, X" `% _) F* l
2.10.2AddressingModesUsingAssemblyProgramming94: J+ k% q3 _9 T% d, q6 ]" b" g
2.10.3Phase-LockedLoopandTimers97
3 y+ O: ?# w5 m2.10.4EMIFConfigurationforUsingSDRAM103
: T: n- t' |0 D6 X9 w2.10.5ProgrammingFlashMemoryDevices105
0 w; V h2 Y; O0 p8 r+ Y. l2.10.6UsingMcBSP106
E9 @+ P* K( M2 n0 m7 v2.10.7AIC23Configurations109
' P7 \4 A0 z" c5 L" Q9 M2.10.8DirectMemoryAccess111" O$ _0 l6 J9 x" l+ v" D
References 115
$ L9 u* k2 i5 j+ j8 w1 {Exercises 115CONTENTS vii
# f( ^0 E6 T. _0 q/ S3DSPFundamentalsandImplementation
/ Q' e. x" [1 jConsiderations 121
* G) B8 O' D( V1 w* y0 A d3.1DigitalSignalsandSystems121$ Q3 T5 W: A9 W, c( p8 L
3.1.1ElementaryDigitalSignals121( b( W- J. R* Y9 u1 n
3.1.2BlockDiagramRepresentationofDigitalSystems123- ~! f7 M! P$ Q+ R1 r' x9 s
3.2SystEMConcepts126! S y7 {. {) w: _4 \7 S* b
3.2.1LinearTime-InvariantSystems126% R5 S1 a6 A E, l6 u$ B
3.2.2The z-Transform130
# M% Z" M2 [5 h& y6 s( e4 n7 n4 T3.2.3TransferFunctions132
9 X# E- d) d4 w8 u# T# P6 W" y3.2.4PolesandZeros135
5 f/ Y# U- w8 u3.2.5FrequencyResponses138- C/ B6 f! \" N( d d
3.2.6DiscreteFourierTransform141+ E7 W q9 Y6 r7 E% L
3.3IntroductiontoRandomVariables1420 L7 x0 _7 d; @& o
3.3.1ReviewofRandomVariables142
3 V9 c3 f/ J6 V' b3.3.2OperationsofRandomVariables144
( T5 w. g/ ?$ x9 L. i8 u7 U8 T3.4Fixed-PointRepresentationsandQuantizationEffects147
' T% F. \/ D% j: c% W. f. y: ?8 Q3.4.1Fixed-PointFormats1470 M0 G& U$ b, d
3.4.2QuantizationErrors151
6 E6 c/ p% u5 J* b7 V' h3.4.3SignalQuantization1515 K6 j! m$ N/ C* N9 p
3.4.4CoefficientQuantization153) h8 J1 }( s* v8 r+ W. Z! t3 T3 Y [
3.4.5RoundoffNoise1537 \8 n2 N8 G2 ~2 q, F
3.4.6Fixed-PointToolbox154
6 Q( _9 R- P' ~* X7 J* N! j3.5OverflowandSolutions157! n- n# }8 P& {1 u
3.5.1SaturationArithmetic157, u& h3 k+ U# ~8 m* |* c
3.5.2OverflowHandling158
. W: t6 b2 [. J! l% D3.5.3ScalingofSignals1584 Q, _3 [/ ~0 W& p0 n3 c
3.5.4GuardBits159% l w7 T. A, Q$ W+ l% p
3.6ExperimentsandProgramExamples1597 w( `7 h7 O5 m" X' G7 Z r N
3.6.1QuantizationofSinusoidalSignals1600 E& U |9 ^3 \$ s8 ~
3.6.2QuantizationofAudioSignals161& T0 d/ w" [, c* ]0 ]
3.6.3QuantizationofCoefficients162
7 u, r( f+ y N8 e3.6.4OverflowandSaturationArithmetic1645 j: S3 ~$ R9 t
3.6.5FunctionApproximations1670 f( }0 w' z! D% m8 l }5 ?. s
3.6.6Real-TimeDigitalSignalGenerationUsingDSK175
* |3 @. N! |. T6 AReferences 180" w: y) w) G: L- b% N0 v
Exercises 180 A" X) \% O" H9 p1 X7 m
4DesignandImplementationofFIRFilters 1857 j' w6 g3 @" ]: Z7 S0 b3 h
4.1IntroductiontoFIRFilters185; W8 z% Z0 ?/ T* z$ o, A+ u3 d
4.1.1FilterCharacteristics185
9 c5 t, a; @9 _: t, Y, T/ L( X( c4.1.2FilterTypes187; s3 v* V+ Y& Y* H* y- _2 @
4.1.3FilterSpecifications189& m ?6 i# Q' S3 X4 @
4.1.4Linear-PhaseFIRFilters191, @4 u1 A3 L. T$ e/ k
4.1.5RealizationofFIRFilters194% t. j( E4 U% N N; _1 q
4.2DesignofFIRFilters196( T& A2 n& g4 n% m& M' ^+ ?
4.2.1FourierSeriesMethod197# O# R. p* i5 {: `: b
4.2.2GibbsPhenomenon1984 f( m. T$ P* M* F0 _' o
4.2.3WindowFunctions201viii CONTENTS
1 @) T% M ~' X; C. j$ r5 E) A4.2.4DesignofFIRFiltersUsingMATLAB206% n9 d ]$ \ ]' I" K
4.2.5DesignofFIRFiltersUsingFDATool207
. `/ e0 k1 a! r% f! `6 |8 D4.3ImplementationConsiderations2134 b" P4 f8 x7 v* t1 o) |( j9 h0 g
4.3.1QuantizationEffectsinFIRFilters213. f2 g) Z: \1 E+ c4 ^
4.3.2MATLABImplementations216' I3 A: g/ p# `4 i$ V
4.3.3Floating-PointCImplementations218/ @$ `- W2 q+ w7 X; o" J
4.3.4Fixed-PointCImplementations219! Q, I" { W, A5 O
4.4Applications:InterpolationandDecimationFilters220
6 j1 n$ h. X) |! u7 V4.4.1Interpolation2203 G/ I) I% E. q/ Y1 W
4.4.2Decimation221! ^ |2 S6 V4 ^( M0 M
4.4.3Sampling-RateConversion221
% n8 y X( a) S* ~1 _# H6 A, ]4.4.4MATLABImplementations2246 ]$ ]+ C$ Z8 `6 h
4.5ExperimentsandProgramExamples225) n2 Q# D/ D% e- b \+ _% D
4.5.1ImplementationofFIRFiltersUsingFixed-PointC226
L: J T9 C8 ~- e7 j' I: _1 y4.5.2ImplementationofFIRFilterUsingC55xAssembly
, t1 I% L& ~ Y4 ELanguage226
5 X. x( c n9 a4.5.3OptimizationforSymmetricFIRFilters2286 U9 z" a8 z" E* N
4.5.4OptimizationUsingDualMACArchitecture2305 e- y1 \* h& j- f4 I! V
4.5.5ImplementationofDecimation232, m; `2 a1 i r3 y- S* b
4.5.6ImplementationofInterpolation233
1 V) @9 w$ d" A; I4.5.7SampleRateConversion234
: J3 v: k: F+ r3 z5 ~9 y3 d4.5.8Real-TimeSampleRateConversionUsing
; M* A! V/ K- X7 Z2 \DSP/BIOSandDSK235, T. |" z I( f6 S0 k' g
References 2455 h( {- v$ j! Q% F' ` Y3 n* f
Exercises 245
1 u. A* O) Q Y- U( U) L3 }- n( H5DesignandImplementationofIIRFilters 249
) e+ |' b% e3 F0 d, Q/ V5.1Introduction249
; t( f) X2 w& \( K5.1.1AnalogSystems249
1 c, R( @& f/ g* t* I5.1.2MappingProperties251* I2 p) A3 ]' |
5.1.3CharacteristicsofAnalogFilters252
+ [0 ^( K, I2 I9 ~' w0 K: x5.1.4FrequencyTransforms254
* d# h% q8 z1 n, ]7 c; o4 T5.2DesignofIIRFilters2553 D- ^8 S, B# o. ?8 N+ R3 h# T
5.2.1BilinearTransform2562 _6 ?+ f, q/ [. r! W
5.2.2FilterDesignUsingBilinearTransform257
+ H, Q, q; I" c }( Q( l5.3RealizationofIIRFilters258# F0 X* W) B) s9 p
5.3.1DirectForms2586 f8 ~! U# o7 t; S9 s
5.3.2CascadeForms260
) t P5 X6 D! k# s [5.3.3ParallelForms262) E" }3 \+ Z; R- K
5.3.4RealizationofIIRFiltersUsingMATLAB263
6 M7 _% D& ?' R* [5.4DesignofIIRFiltersUsingMATLAB264
- p. @6 o% o. D7 F8 | i5.4.1FilterDesignUsingMATLAB264
( m3 C' P1 f/ D* p( T0 }4 t5.4.2FrequencyTransformsUsingMATLAB267/ ^: T0 Z; d2 |8 w
5.4.3DesignandRealizationUsingFDATool268
6 E# o& d* t; N, H2 l l5.5ImplementationConsiderations271* |. x7 r# A3 I* T& [# k
5.5.1Stability2711 k0 s% u; x$ D3 s' |3 ?. {
5.5.2Finite-PrecisionEffectsandSolutions273- a% t9 q, E6 T4 A
5.5.3MATLABImplementations275CONTENTS ix7 h3 o$ ?3 {5 _4 `. }
5.6PracticalApplications279
: t. I Q/ G7 }! O- G) o7 X! O5.6.1RecursiveResonators279
N9 H$ @9 i% X' |9 V6 A7 j5.6.2RecursiveQuadratureOscillators2821 W+ b" e& b' o8 a7 q2 y
5.6.3ParametricEqualizers284
: n1 f# C8 a& c. E" x! u5 Q( K5.7ExperimentsandProgramExamples2857 @8 }+ Z5 ]8 ~0 i/ _3 t9 _2 n
5.7.1Floating-PointDirect-FormIIIRFilter285
5 O' w0 ~/ v+ A2 t5.7.2Fixed-PointDirect-FormIIIRFilter286
- N4 e& G' p z* d7 G* k( o( w9 H5.7.3Fixed-PointDirect-FormIICascadeIIRFilter287. p4 }+ Q3 B9 {* P6 G) I5 Z! `
5.7.4ImplementationUsingDSPIntrinsics289 U' r! |: O; \6 H# _
5.7.5ImplementationUsingAssemblyLanguage290# l9 q3 x6 Q' f* W& ~1 L
5.7.6Real-TimeExperimentsUsingDSP/BIOS293
+ i9 V1 e' i% L4 o6 \2 S, e2 Z- l5.7.7ImplementationofParametricEqualizer296
7 l* a, @- O$ `6 e5.7.8Real-TimeTwo-BandEqualizerUsingDSP/BIOS297
: d' C$ a! d1 w+ D3 l! JReferences 299. K/ ~2 z) C6 l+ R" i% E
Exercises 299
( }& A) I, M% U2 t" W6FrequencyAnalysisandFastFourierTransform 303
; w g! ^+ e( y' o0 d2 \6.1FourierSeriesandTransform3039 L. r" g# w% q3 V% c' Q
6.1.1FourierSeries3032 |% \* i$ J8 h6 I9 @, Z
6.1.2FourierTransform304 G0 R9 `7 i y( m
6.2DiscreteFourierTransform305$ F( H8 ]" r" c* i: h
6.2.1Discrete-TimeFourierTransform305/ R: G, T0 S7 A P$ [/ A, _
6.2.2DiscreteFourierTransform307' I( a3 k. E* u; i5 h# C
6.2.3ImportantProperties310
- U- W7 M- ^) D2 y A6.3FastFourierTransforms313
1 Y2 m8 o' b* h. k# H6.3.1Decimation-in-Time314
% r3 L, C T3 q) v3 E* n: {( ~& \6.3.2Decimation-in-Frequency316
& u% K) u, _* D' W4 I. u" o6.3.3InverseFastFourierTransform317
# L' n$ E8 r4 ]6 R# z9 M% p6.4ImplementationConsiderations317& U1 ]2 o( u' e) Z, q6 N
6.4.1ComputationalIssues3170 h1 k7 j+ K, H+ q- q4 I( m4 x. B
6.4.2Finite-PrecisionEffects3186 Z0 f/ e" N$ l# P% p7 l
6.4.3MATLABImplementations318
" ]2 E8 c- Z9 q' \% [" z5 a* q3 f6.4.4Fixed-PointImplementationUsingMATLAB320
! y4 i- V/ p9 Q3 d6.5PracticalApplications3227 d# A* C$ M# @" ^& Y
6.5.1SpectralAnalysis322' g8 @' f0 M7 n& u
6.5.2SpectralLeakageandResolution323
: \+ x3 i' y; P0 i* N; Q6.5.3PowerSpectrumDensity325
8 `( d7 | h3 A! w- r7 |+ |6.5.4FastConvolution328
1 M6 g/ C' F5 ?; h6.6ExperimentsandProgramExamples332
( P5 X9 R. {: H6.6.1Floating-PointCImplementationofDFT332: H( h% K3 d: U8 m2 w
6.6.2C55xAssemblyImplementationofDFT332
& K9 E2 t8 ^! ]' t6.6.3Floating-PointCImplementationofFFT336
4 W0 O& y1 o6 y0 s; Q6.6.4C55xIntrinsicsImplementationofFFT3383 ?' B4 F7 w% {3 f8 |" m
6.6.5AssemblyImplementationofFFTandInverseFFT339! p' V$ P0 l# m/ G: u
6.6.6ImplementationofFastConvolution343
a1 H8 d4 l0 t' \4 F6.6.7Real-TimeFFTUsingDSP/BIOS345! @2 T# Q* c% [9 w* V2 H" D. t- k' l
6.6.8Real-TimeFastConvolution347
' g- _4 [+ q* V: C5 fReferences 347
( F _! S' x; l Q" iExercises 348x CONTENTS
& J, g' ~5 i9 S& h0 X7AdaptiveFiltering 351
- d6 }, K% H& y J+ ?7.1IntroductiontoRandomProcesses351! y" X$ C4 a. x' r5 R
7.2AdaptiveFilters354
1 k: P& K) V4 Q* r7.2.1IntroductiontoAdaptiveFiltering354: B+ Y7 ^" ^* S1 Y- C' M
7.2.2PerformanceFunction355: p8 E: {8 h& N* ~
7.2.3MethodofSteepestDescent358
( c: J0 ?4 \6 h7.2.4TheLMSAlgorithm360
[* A3 J0 n; P4 o- E& N9 C1 F8 t7.2.5ModifiedLMSAlgorithms361
. B7 X, a/ N5 O7.3PerformanceAnalysis362# M# Y( O/ h! T* v
7.3.1StabilityConstraint362
$ @$ O+ ~% T1 K2 V `8 l0 U9 J7.3.2ConvergenceSpeed363
- _/ D7 K7 b" m5 m; ?2 h* X* D7.3.3ExcessMean-SquareError363
" B7 Y0 [) {! F4 Z" n# ?# r% i$ x7.3.4NormalizedLMSAlgorithm364
% N4 k0 e7 G' P$ d/ x* f0 W; |7.4ImplementationConsiderations364
( @" } H$ a: ? m! Y7.4.1ComputationalIssues365) X$ N7 r1 F& F# S0 V
7.4.2Finite-PrecisionEffects365, k5 u! l2 Y$ F& [" j
7.4.3MATLABImplementations366" K* h& \: x# N. z0 ~/ g/ [
7.5PracticalApplications368
' Q/ i( D6 D1 ]3 l# b) ]7.5.1AdaptiveSystemIdentification368
& t" `8 H$ \0 h) Y7.5.2AdaptiveLinearPrediction3691 p6 ]! R% m5 ]$ c4 W
7.5.3AdaptiveNoiseCancelation372( t3 k9 V; N' H! \
7.5.4AdaptiveNotchFilters374
/ e+ K% ~: u5 {7 B) x) F7.5.5AdaptiveChannelEqualization375
0 p8 t g% b# V7.6ExperimentsandProgramExamples3774 B! V2 E, _# m, V$ u
7.6.1Floating-PointCImplementation377
: x: }. v' n8 P+ s) _8 g$ H' v* r7.6.2Fixed-PointCImplementationofLeakyLMSAlgorithm379
8 _3 Q* h i Q7 ^3 K. O: ]7.6.3ETSIImplementationofNLMSAlgorithm380
; Q4 }- w9 N1 K+ W1 Q' \7.6.4AssemblyLanguageImplementationofDelayedLMSAlgorithm383, j, m0 ]$ F* H7 e+ A
7.6.5AdaptiveSystemIdentification387
# E' v4 N6 e# z$ w2 f+ N3 \8 X7.6.6AdaptivePredictionandNoiseCancelation388: N2 G' T$ |: d, E# U' g% ?' X
7.6.7AdaptiveChannelEqualizer392
- v7 \) A* Z4 f+ N7.6.8Real-TimeAdaptiveLineEnhancerUsingDSK394- z6 D( J# @; H+ z6 G
References 396
0 v1 b! k _$ c/ m( Q% _Exercises 3974 K$ G' y; Q7 \
8DigitalSignalGenerators 401/ L, s# c, x5 e% U
8.1SinewaveGenerators401
# T& j$ Y6 l% f% W1 P8.1.1Lookup-TableMethod401- B6 h9 N) H: l" e' ?
8.1.2LinearChirpSignal404: Z: P1 [- t+ A j1 R1 t9 U9 M
8.2NoiseGenerators405; T9 F2 S+ K, s* R! e8 S
8.2.1LinearCongruentialSequenceGenerator405
* j" w& C' g* ^8.2.2Pseudo-RandomBinarySequenceGenerator407
: v$ \0 L: }" Y4 K+ M h8.3PracticalApplications409
, y- L; W) A3 Z6 ^6 W; F9 P8.3.1SirenGenerators409
7 m) q& H2 C% A8.3.2WhiteGaussianNoise409+ V0 g: |( D$ W9 a) ~1 M5 ^5 p
8.3.3Dual-ToneMultifrequencyToneGenerator4108 m5 ?. H- K- K7 L
8.3.4ComfortNoiseinVoiceCommunicationSystems411" p4 w4 j( N) \
8.4ExperimentsandProgramExamples412& W4 o R- ]9 C3 s. y
8.4.1SinewaveGeneratorUsingC5510DSK412
9 a* z, ~3 b+ p4 U8.4.2WhiteNoiseGeneratorUsingC5510DSK413CONTENTS xi
( ]9 W' f2 ?: z8.4.3WailSirenGeneratorUsingC5510DSK4141 w# V/ q* e9 D2 u. g& [, C5 z
8.4.4DTMFGeneratorUsingC5510DSK4153 B1 B/ P5 F9 M) l2 ^9 K. P
8.4.5DTMFGeneratorUsingMATLABGraphicalUserInterface416 M/ ]! q2 w, H6 h' B& G6 t7 f
References 4186 |. ~! ]2 P% R, b5 s% X
Exercises 418* W4 _" s& s8 p- e
9Dual-ToneMultifrequencyDetection 421
" O- A+ b% l# O4 H- K- ^$ \" K9.1Introduction421" ]( i3 O/ X; ^5 \9 c# f( z
9.2DTMFToneDetection422! p6 o5 b' w! J, h, H; `, g/ w
9.2.1DTMFDecodeSpecifications422
4 B( |" S4 Y d9.2.2GoertzelAlgorithm4230 ~! e: L8 |& }4 B5 I0 ?5 a
9.2.3OtherDTMFDetectionMethods426
7 m; x! W0 k3 w* c9.2.4ImplementationConsiderations428. n. p- X' l4 z: R+ p8 W& E
9.3InternetApplicationIssuesandSolutions431
4 Z; F& k, i8 d! M2 I9.4ExperimentsandProgramExamples432
f- h, d: ?( n9.4.1ImplementationofGoertzelAlgorithmUsingFixed-PointC4321 u: V3 X% Q: V4 e8 u0 T
9.4.2ImplementationofGoertzelAlgorithmUsingC55x0 ]4 h+ y/ H" \( t% U
AssemblyLanguage434: W% w3 j" R- K& b, m
9.4.3DTMFDetectionUsingC5510DSK435
" K* f& p9 f; G. N& o; p- o7 @* p9.4.4DTMFDetectionUsingAll-PoleModeling439& d& m- b/ N4 P. M* p' ^: d. g
References 441
: m! U- e B, }: w. DExercises 4423 P0 U2 }6 @% n5 B$ [* n
10AdaptiveEchoCancelation 443
6 J& w6 S( f S10.1IntroductiontoLineEchoes4433 G* I# X7 g6 y* X! }7 s# B
10.2AdaptiveEchoCanceler444# L0 X/ J7 \ P- G3 y+ H4 l
10.2.1PrinciplesofAdaptiveEchoCancelation445
( A( l1 }; e4 s5 u5 X+ e/ I10.2.2PerformanceEvaluation446( w. ^5 R9 t7 N1 V/ c
10.3PracticalConsiderations447. l( `$ L. b& F- a- @7 P" n
10.3.1PrewhiteningofSignals447! F) `: ]% Z# J3 o: s5 ?* M& f
10.3.2DelayDetection448
2 Q. z F6 R" W6 K4 t" N10.4Double-TalkEffectsandSolutions450
3 r2 Z9 J; ~" ^- Q9 T- ~: R; c10.5NonlinearProcessor453
. n4 ~, d& d" P6 n10.5.1CenterClipper4536 I& e" c9 n6 R: B' L
10.5.2ComfortNoise453
1 L y1 A/ X3 d% L10.6AcousticEchoCancelation4545 F1 Z! J5 N1 N5 |# M, F" P
10.6.1AcousticEchoes4540 W: |7 d1 }' T: g, H
10.6.2AcousticEchoCanceler456
5 r) l0 s; `8 m9 V10.6.3SubbandImplementations457: s, u8 M9 W$ ]* w% Z/ l) Q& _0 h
10.6.4Delay-FreeStructures459
" l7 k' m0 v1 K4 N: u$ W10.6.5ImplementationConsiderations459& A- \4 b" ]# z% n0 p
10.6.6TestingStandards460
1 z% V( o$ L. U; q- |( U10.7ExperimentsandProgramExamples461* w L O: V" x$ W# ^
10.7.1MATLABImplementationofAEC461
2 d4 E1 B. S s) {/ U! l% n _10.7.2AcousticEchoCancelationUsingFloating-PointC464
& V7 h" a9 Y6 D. f2 b; r( D10.7.3AcousticEchoCancelerUsingC55xIntrinsics468
7 {% q; |4 ` l' `3 G- V10.7.4ExperimentofDelayEstimation4695 Z5 |: j5 ]5 Q" g
References 472
/ T. c! R4 a4 W7 N oExercises 472xii CONTENTS1 E% ] V! f# q3 r; V: L6 m9 x
11Speech-CodingTechniques 475
4 b" K4 I# `1 B/ }11.1IntroductiontoSpeech-Coding475
/ f' G7 G; c% P11.2OverviewofCELPVocoders476) l0 c7 z; G% ~+ z
11.2.1SynthesisFilter477
6 i% }- v. s0 {' E& p) T4 {2 }11.2.2Long-TermPredictionFilter481+ I( I/ u- W+ \4 ^
11.2.3PerceptualBasedMinimizationProcedure481
0 Q+ b7 w* t, i2 w2 ~% d+ Z% f11.2.4ExcitationSignal482
9 P8 ~$ C7 ?0 @5 H4 ?, u+ o11.2.5AlgebraicCELP483
I4 N3 D* d) F7 Q: T11.3OverviewofSomePopularCODECs484
! @9 q! }' b4 X8 m1 v$ u X! U+ A) r/ O4 l11.3.1OverviewofG.723.1484
5 m' E' B5 E6 X* Y, y1 ?$ T$ r! a11.3.2OverviewofG.7294880 {+ E+ ~: a) T% _
11.3.3OverviewofGSMAMR490+ V! c: N( w0 {* P3 n
11.4VoiceoverInternetProtocolApplications492* S$ r9 z% H6 W* C$ b) {8 a" u
11.4.1OverviewofVoIP492
* v7 v7 K3 n6 _- q/ P" ^& j11.4.2Real-TimeTransportProtocolandPayloadType493" ~! |( e( A: ?1 ]* u( w; U
11.4.3ExampleofPackingG.729496
" S& { ^, _ ~11.4.4RTPDataAnalysisUsingEtherealTrace4967 ?9 @+ X( L2 B$ _! ]. T% n4 i
11.4.5FactorsAffectingtheOverallVoiceQuality497# C+ s8 n! y, v- z; |1 \
11.5ExperimentsandProgramExamples4977 ]% K& R. j: y1 U
11.5.1CalculatingLPCCoefficientsUsingFloating-PointC497
/ Z% ?& A" M; T: F8 ]0 ]0 A11.5.2CalculatingLPCCoefficientsUsingC55xIntrinsics499
' e; m9 t7 p" I e) S11.5.3MATLABImplementationofFormantPerceptualWeightingFilter504( Y0 c5 ?2 z4 r3 Z
11.5.4ImplementationofPerceptualWeightingFilterUsingC55xIntrinsics506% q7 c! O0 a/ T- d) F
References 5073 U8 {% s3 c0 k1 ^
Exercises 508" n- Q6 m- v3 S0 g" S: |- X
12SpeechEnhancementTechniques 509% v1 L f4 [& q1 b2 `' Q/ A4 G1 A
12.1IntroductiontoNoiseReductionTechniques509
/ \7 [; l) M+ D j. a7 \12.2SpectralSubtractionTechniques510
1 p5 `& n8 f4 P% u2 q$ l12.2.1Short-TimeSpectrumEstimation511
, ] K0 U8 K. T( Q5 B( }( Q$ h12.2.2MagnitudeSubtraction511
6 T0 [6 }& s' N: [) q6 l12.3VoiceActivityDetection513
4 o. |7 w2 b! x6 ?2 x* B12.4ImplementationConsiderations515
9 E9 s8 R, {( m% s- H12.4.1SpectralAveraging515
. \4 r+ x% ~6 z* U) k8 f9 p12.4.2Half-WaveRectification515
+ l E. X8 a0 f5 k! q, D9 Y12.4.3ResidualNoiseReduction516+ X) z0 B5 V/ T
12.5CombinationofAcousticEchoCancelationwithNR516
2 i- e& e+ n! ~- A3 P* \5 x4 N12.6VoiceEnhancementandAutomaticLevelControl518
. l5 ^! l$ r) e: T9 f0 ?2 G12.6.1VoiceEnhancementDevices518
. t) L8 ?( S% T12.6.2AutomaticLevelControl519
2 b4 y8 i2 A% X1 d, U8 [0 }! G! D12.7ExperimentsandProgramExamples519
. N, |5 v q5 f( a6 U' D, k4 F2 h12.7.1VoiceActivityDetection519
* `" u- w& A- i3 a- J12.7.2MATLABImplementationofNRAlgorithm522
+ w% V/ J, `$ l% T8 G6 N- _2 t! [: t8 l12.7.3Floating-PointCImplementationofNR522
% q: l% @1 u. G5 s! a& R12.7.4MixedC55xAssemblyandIntrinsicsImplementationsofVAD522' ?, Q; I& Q+ P0 I1 _
12.7.5CombiningAECwithNR526
! w7 K# R; c. H& y, h `4 ?References 529: y0 O W) K8 r5 Q+ S
Exercises 529CONTENTS xiii4 L' X* {) i* I) W
13AudioSignalProcessing 5315 v, l6 Q0 ?- }2 A# O4 H: C, z4 w
13.1Introduction531) x6 O8 U+ ?7 M. c
13.2BasicPrinciplesofAudioCoding531
! x: A! e9 e' W* ?: N13.2.1Auditory-MaskingEffectsforPerceptualCoding533' u/ Y5 m1 R7 }+ P |% t8 g
13.2.2Frequency-DomainCoding536
# M; O% _) e9 F" p& G13.2.3LosslessAudioCoding5381 D2 w0 }6 y! m3 D5 q N; F
13.3MultichannelAudioCoding539! P4 e R- J5 g1 L4 ?
13.3.1MP3540$ [# P, \: ~& a: Q/ x6 g
13.3.2DolbyAC-35418 [ W+ f" b8 r6 D: ^ o- s
13.3.3MPEG-2AAC542
/ A- ^) d. a/ u13.4ConnectivityProcessing544
# g* b! R& ]& e( O# D ]13.5ExperimentsandProgramExamples544
% T) x3 y5 C4 R* P, K13.5.1Floating-PointImplementationofMDCT544$ r8 |! z" t' o; F
13.5.2ImplementationofMDCTUsingC55xIntrinsics547
/ j$ f2 ]: N$ {13.5.3ExperimentsofPreechoEffects5498 T6 z5 w9 o" w4 Y4 x
13.5.4Floating-PointCImplementationofMP3Decoding549
2 s# m& \( {& o, v/ lReferences 553
# I& w) j6 O7 r$ [! c4 iExercises 553
! \7 v* k( F- p6 F, z14ChannelCodingTechniques 555
, o# A: v6 n4 K9 K14.1Introduction555
8 ^4 l1 P3 T/ Q Y( M' G) U% m14.2BlockCodes556
2 M7 B5 v5 _$ {" X- K14.2.1Reed–SolomonCodes5588 f3 o9 F: o+ m& v3 I+ o% B. _
14.2.2ApplicationsofReed–SolomonCodes5620 v! N+ H( K; i4 D) [
14.2.3CyclicRedundantCodes563% V# ]- f. @. R" r6 c
14.3ConvolutionalCodes564
1 n% e8 y" \6 d1 w( u- x5 P14.3.1ConvolutionalEncoding564
- r/ b1 V! d5 n2 Y14.3.2ViterbiDecoding564
2 d$ M A, N7 d3 }4 Y14.3.3ApplicationsofViterbiDecoding566( _) b! w& G; t# _- a, m M, E* O
14.4ExperimentsandProgramExamples569# Z; z' n: b6 O+ {
14.4.1Reed–SolomonCodingUsingMATALB569+ ]/ I* F! \: ]
14.4.2Reed–SolomonCodingUsingSimulink570
% M& }* ^1 F3 ]4 \ P14.4.3VerificationofRS(255,239)GenerationPolynomial571, B3 | d/ q1 e/ t& s
14.4.4ConvolutionalCodes572; X0 A a: y+ H8 u) |+ X* ]* N
14.4.5ImplementationofConvolutionalCodesUsingC573# ]& a' O3 H7 f, p) [: Q$ f9 b
14.4.6ImplementationofCRC-325754 M0 a1 f3 t. |7 ^% B7 s
References 576
: R0 T& ?. H. B3 V5 ~. kExercises 577 d( Q" S- {5 @; a) n
15IntroductiontoDigitalImageProcessing 579
9 d u$ U+ j/ D1 w, j2 R- w15.1DigitalImagesandSystems579
! J6 d; S) I' u$ }15.1.1DigitalImages579
1 m/ H6 C0 ]( m" J D" N; t5 P. ?15.1.2DigitalImageSystems580/ _" o5 X8 X* u2 [
15.2RGBColorSpacesandColorFilterArrayInterpolation581
) M- f/ f' {% w5 J$ b15.3ColorSpaces5841 [7 ?2 W6 u t& s
15.3.1YCbCr andYUVColorSpaces584
& d+ Z' v: f) t3 w# \) s* @+ x15.3.2CYMKColorSpace585xiv CONTENTS, D3 u# `* \( A4 b% I' E
15.3.3YIQColorSpace585
# [( U: @9 E- P5 Q. `. h# D. x15.3.4HSVColorSpace585* R& @* l9 l+ u6 g
15.4YCbCr SubsampledColorSpaces586
. f# u' q% D1 x# H5 D& O, ]# h15.5ColorBalanceandCorrection586
( K4 K& @: ~- z& T* Y+ X8 e15.5.1ColorBalance587: i: M- q# |3 p8 n
15.5.2ColorAdjustment588
`* m1 F, P/ O3 b y9 v) `& l( h15.5.3GammaCorrection5891 M8 l8 i: r& V+ Q' a3 Q& H
15.6ImageHistogram590
* E" G: T. Y' Y8 V0 I15.7ImageFiltering591
# p9 r X7 D5 t3 u" I% {15.8ImageFilteringUsingFastConvolution596+ [7 X; @4 B: {4 [' {7 A- p
15.9PracticalApplications597
7 C: e+ d( I" A- o/ N/ ]15.9.1JPEGStandard5973 M, u0 ]5 R W
15.9.22-DDiscreteCosineTransform5994 u, G" f6 g5 V$ D( _6 C0 m
15.10ExperimentsandProgramExamples601
. g% u' D6 M3 ~15.10.1YCbCr toRGBConversion601
; G5 s, S5 T5 Q15.10.2UsingCCSLinkwithDSKandSimulator604
/ L' s. G( Y) v& q15.10.3WhiteBalance607
) e1 _( u! Z: ?. k' y7 V15.10.4GammaCorrectionandContrastAdjustment610
) S1 _ `" b1 P4 [6 c+ f9 x* b) x15.10.5HistogramandHistogramEqualization6113 C# n% b; Q9 L( b$ F: G
15.10.62-DImageFiltering613& n0 r) h* d5 ^9 h: P
15.10.7ImplementationofDCTandIDCT617' t& L3 @3 z4 A: l {0 N
15.10.8TMS320C55xImageAcceleratorforDCTandIDCT621/ n: T4 z1 |) P4 `% h
15.10.9TMS320C55xHardwareAcceleratorImage/VideoProcessingLibrary623
* P# @! {8 j- \' nReferences 625# U/ O8 ~9 z- L$ m
Exercises 625 |
|