|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1IntroductiontoReal-TimeDigitalSignalProcessing 1
# [' e, K( L+ {0 L1.1BasicElementsofReal-TimeDSPSystems2
. y1 \5 t& `1 F0 D8 k+ Y1.2AnalogInteRFace3
0 j0 x& t( c5 f* X% L1.2.1Sampling34 p5 X7 @' P& c! a
1.2.2QuantizationandEncoding7* Y5 H G$ _5 K/ [' P2 c) T% V, D
1.2.3SmoothingFilters85 a2 t+ G( O8 G+ r" M# F' M0 {- A
1.2.4DataConverters9% U+ x2 X; Y* i* S
1.3DSPHardware10. m6 n8 W; \: P1 H
1.3.1DSPHardwareOptions10; H/ I+ z' J& C" B/ U# l( @$ k& M; D
1.3.2DSPProcessors138 T! e* f+ |) k4 E! V6 x
1.3.3Fixed-andFloating-PointProcessors15
3 e5 s, w: [2 S1.3.4Real-TimeConstraints16% Y S; l* x* N+ o4 u8 ?# W! f
1.4DSPSystemDesign17
: ^ E1 I$ [0 _0 L+ l1.4.1AlgorithmDevelopment18* F# O0 g* |, k- V' A8 ?; y& e
1.4.2SelectionofDSPProcessors19. D S' R) n4 Y
1.4.3SoftwareDevelopment20. S/ d# G. C: H# N: s9 O
1.4.4High-LevelSoftwareDevelopmentTools21
# P* p1 B" W( P- i7 b$ b1.5IntroductiontoDSPDevelopmentTools22
) y: p% t. v" y S" b! n1.5.1CCompiler22. x. `% A3 X" F7 q& }
1.5.2Assembler23
# x" J* A$ X, C" ~. o2 B1.5.3Linker24" e0 K+ g0 L5 l t h
1.5.4OtherDevelopmentTools25
v) J6 U$ u; w5 R1.6ExperimentsandProgramExamples25; m. g. J* \7 \8 }$ ~
1.6.1ExperimentsofUsingCCSandDSK268 Q0 ?' |3 R! T9 h+ S0 C0 S2 J( Z% w
1.6.2DebuggingProgramUsingCCSandDSK29
/ p$ ~- B1 Y/ S4 k% X8 L6 X1.6.3FileI/OUsingProbePoint32* @8 x, u# a% _5 G3 X
1.6.4FileI/OUsingCFileSystemFunctions35
4 @# t- R% s3 O' {+ l2 W& h4 h$ `* Y1.6.5CodeEfficiencyAnalysisUsingProfiler37
! ?' a+ A# ^8 a% P1.6.6Real-TimeExperimentsUsingDSK39. v) b$ N$ P6 i& c8 r
1.6.7SamplingTheory428 y; B9 c" ?3 b: N( O
1.6.8QuantizationinADCs44; m$ g0 Z; ^) t' N& O
References 45
) @ x; Q! T' D- K) x9 MExercises 45vi CONTENTS0 X! n* v( o+ s' o; f1 m
2IntroductiontoTMS320C55xDigitalSignalProcessor 49
w: U8 n5 F3 ?, T2.1Introduction499 G* Q6 |- @) b5 y: f
2.2TMS320C55xArchitecture50
8 k9 O$ _6 K: n, a2.2.1ArchitectureOverview509 H( O1 N/ R+ s7 h/ U& X3 D( d5 g
2.2.2Buses53
/ W1 A; m i7 ]2.2.3On-ChipMemories53- X7 `6 m' X+ F& a0 _- y
2.2.4Memory-MappedRegisters55
- K: b) K& _4 P8 J2.2.5InterruptsandInterruptVector55, H! V3 }, m0 L9 M$ N3 m
2.3TMS320C55xPeripherals58
2 M* V% N1 L ]( Q2.3.1ExternalMemoryInterface60& R" o3 e& P0 x/ Z
2.3.2DirectMemoryAccess60
0 D o) u% D% |& C& F* I2.3.3EnhancedHost-PortInterface61
( a# W/ l6 j9 D5 m2 \* l2.3.4Multi-ChannelBufferedSerialPorts62' G0 V: l2 H1 s v) o7 T
2.3.5ClockGeneratorandTimers65& L8 C+ X+ f8 }( O" {+ F
2.3.6GeneralPurposeInput/OutputPort65# \6 z2 k1 l; B% U# {7 u8 X/ B y
2.4TMS320C55xAddressingModes65; r1 ?- s% R j7 E
2.4.1DirectAddressingModes66
3 ?& t) Z/ C, u1 }* f6 @2 D7 G- a2.4.2IndirectAddressingModes68
4 r1 G$ s w# k* s2.4.3AbsoluteAddressingModes708 W/ E/ ?9 \) s6 U
2.4.4Memory-MappedRegisterAddressingMode70/ T" ~ U/ G- b) q$ } P: Q. a) u
2.4.5RegisterBitsAddressingMode71
6 I4 m, s. k( z8 z; C4 ^2.4.6CircularAddressingMode72
2 P1 v! ~$ f8 ^& u" }2.5PipelineandParallelism73
2 x/ [( i9 Y* @! }' r7 E% `2.5.1TMS320C55xPipeline73
9 H7 m$ l# u( R g6 h" d+ y& j- M2.5.2ParallelExecution74
* \! D/ T+ T9 g1 U$ j' ~2.6TMS320C55xInstructionSet76
' V9 q* o3 b3 z8 R! h4 L( U2.6.1ArithmeticInstructions769 Z9 c% r f: J& v B$ U* |
2.6.2LogicandBitManipulationInstructions77
+ {" }( b' e) L5 T2.6.3MoveInstruction789 r; n: ^* t. ^, f' V
2.6.4ProgramFlowControlInstructions78
8 z: n2 r9 i w5 z j2.7TMS320C55xAssemblyLanguageProgramming82
+ F* `, d/ T* {2 |: g! a/ O2.7.1AssemblyDirectives82
/ C) Q; u% o( b. s6 \3 O5 o2.7.2AssemblyStatementSyntax84
# Z# _6 n! e- u! q/ b% e3 J4 M$ T2.8CLanguageProgrammingforTMS320C55x86
% {" ~: ?& h, o- E+ i8 Z2.8.1DataTypes86
, T* v# o) Z0 w3 K# `: e2.8.2AssemblyCodeGenerationbyCCompiler87) T7 e- b* G+ d
2.8.3CompilerKeywordsandPragmaDirectives895 |, b0 @- ]8 V0 U/ y0 {
2.9MixedC-and-AssemblyLanguageProgramming90) @6 [8 S ~ y" w9 T+ s
2.10ExperimentsandProgramExamples93
; h# N. Q1 I4 G2 \; V2.10.1InterfacingCwithAssemblyCode93
& C; M; D& B* T2.10.2AddressingModesUsingAssemblyProgramming94
( l1 n5 K, `8 i3 [2.10.3Phase-LockedLoopandTimers97
6 {6 i2 \8 I' [: j2 G: I2.10.4EMIFConfigurationforUsingSDRAM103" G! \, x8 ], s% I
2.10.5ProgrammingFlashMemoryDevices105
2 k6 y4 v- X+ \, p! A1 s3 H- t- [2.10.6UsingMcBSP106
' @, I! K. p& }$ D. X$ @2.10.7AIC23Configurations109
; }. _% p0 h6 o2.10.8DirectMemoryAccess111
5 |: E; M/ ]; e% w( oReferences 115
( d8 j8 a$ |/ V! w7 hExercises 115CONTENTS vii# l. M6 c. [ A/ W$ m2 ?6 Z
3DSPFundamentalsandImplementation
x: `5 {* I' b- t, sConsiderations 121
" P0 B1 w3 b% f5 @0 ^9 U3.1DigitalSignalsandSystems121
5 [- ^- Y- o! a# w9 [+ Q+ Q5 ^3.1.1ElementaryDigitalSignals1213 l: w x8 S p/ l; `8 h' I
3.1.2BlockDiagramRepresentationofDigitalSystems123
* d) D5 b. n! e/ Z3.2SystEMConcepts126
' `* I. m; H* `' n: {7 p3.2.1LinearTime-InvariantSystems126
* ^! l6 k/ Q+ W" ~2 e3.2.2The z-Transform130 d1 e8 P0 X3 o. f* O
3.2.3TransferFunctions132& u- I6 `* r" S* |3 K( j3 z
3.2.4PolesandZeros135
; i( }: o! S' A7 t" F+ \3.2.5FrequencyResponses138
$ y4 d+ |: f4 l$ U& Z8 B5 X2 ^# F3.2.6DiscreteFourierTransform141
: N* p/ _* e. v Y2 F( i k! g6 z3.3IntroductiontoRandomVariables142& w" `; k, E( ?/ [, ?; F+ s4 Q0 t
3.3.1ReviewofRandomVariables142
0 J; D& |+ N4 X% o, l3.3.2OperationsofRandomVariables144
. o+ ]1 f* r- B' Q3.4Fixed-PointRepresentationsandQuantizationEffects1470 Q2 Q; ]2 p" `+ |5 K
3.4.1Fixed-PointFormats147
; t* w' _# o; i* w- W& I3.4.2QuantizationErrors151# u5 j4 ?- ?, @) w$ T
3.4.3SignalQuantization151
8 A5 i+ m( _- c# ~2 A4 ?5 {3.4.4CoefficientQuantization153
1 J0 c5 h6 Q: e% T4 T6 I% K: W3.4.5RoundoffNoise153
# ?& `6 Q% q' u2 O+ w2 T3.4.6Fixed-PointToolbox154& j F! Y+ e! n$ a; s- z
3.5OverflowandSolutions157" S( p2 W. M2 [: m: |+ i( o
3.5.1SaturationArithmetic157# n1 `$ t6 u9 ~/ s i
3.5.2OverflowHandling158
0 R' J: b: L" F; A- \& a3.5.3ScalingofSignals1587 {+ O! a# k' ?" ]: u) E+ M& B
3.5.4GuardBits159% m* z. K( a8 A. ?% n
3.6ExperimentsandProgramExamples159
8 T7 O! _; F3 s8 X* b3.6.1QuantizationofSinusoidalSignals160
9 d5 D5 s1 q5 A/ x z) Y8 z3.6.2QuantizationofAudioSignals1618 i- B3 g4 p" f1 u: ~
3.6.3QuantizationofCoefficients162
8 L: |$ J" t( S1 I$ u+ Z# {3.6.4OverflowandSaturationArithmetic164
u% W/ ~6 j8 R8 D) s( d, s$ m ~* g& s3.6.5FunctionApproximations167
- `, h4 o j; B/ a1 O, m3.6.6Real-TimeDigitalSignalGenerationUsingDSK175
& I# f' i6 s. eReferences 180
% W: f% K; L |7 I8 \$ tExercises 180
q r) s5 P' e# }. V0 P$ f- Q4DesignandImplementationofFIRFilters 185/ ?6 x5 {3 @: d+ Y3 I+ E
4.1IntroductiontoFIRFilters185
" f" C3 }3 U2 Z4.1.1FilterCharacteristics185
* A U! E6 H' j2 x4.1.2FilterTypes187
7 O" a6 R; f. n9 `$ s4 C6 k4.1.3FilterSpecifications1892 A" y* c( Z9 l
4.1.4Linear-PhaseFIRFilters191
* |- s: t" S0 C. Y* ]4.1.5RealizationofFIRFilters194& J) n' a& m7 L0 \3 r2 X+ o
4.2DesignofFIRFilters196
; x' I0 N H1 `1 {. n" B4.2.1FourierSeriesMethod197
, ?/ d' n9 Z3 n1 o& K4.2.2GibbsPhenomenon198) p% V! Z* K& D
4.2.3WindowFunctions201viii CONTENTS
$ t: K( E* f- e' H4.2.4DesignofFIRFiltersUsingMATLAB2063 l0 `2 |* ~) d5 {
4.2.5DesignofFIRFiltersUsingFDATool207
5 }9 u7 M; B' P4.3ImplementationConsiderations213
2 s! @1 C# a& ]7 c4.3.1QuantizationEffectsinFIRFilters213! U5 j" e ~4 y1 Z6 d0 A
4.3.2MATLABImplementations2164 u/ a0 [3 o# a
4.3.3Floating-PointCImplementations218
% h+ J0 l: I9 i7 n; G7 A* M+ \4.3.4Fixed-PointCImplementations219
% Q/ R/ k- s1 g4.4Applications:InterpolationandDecimationFilters2204 ~0 U! |6 I5 C, L
4.4.1Interpolation220- U( O/ A& K. y& _; K
4.4.2Decimation2218 _/ b5 ~1 P$ L( g* M
4.4.3Sampling-RateConversion221 v3 `8 A& b/ L5 d8 U5 y# j5 @, \
4.4.4MATLABImplementations224& k! R5 _" D& [, y6 e Y' d9 g
4.5ExperimentsandProgramExamples225
|9 K( V/ o$ ]9 c1 f* D0 Y0 e4.5.1ImplementationofFIRFiltersUsingFixed-PointC226' _6 c% ]- M& E! e0 Y
4.5.2ImplementationofFIRFilterUsingC55xAssembly' j, ^/ x) ~( H: j8 H P: J) U2 g
Language226) W! ?& N! ^ A3 s: ^8 D* j
4.5.3OptimizationforSymmetricFIRFilters2283 @- a* i( C: e! L
4.5.4OptimizationUsingDualMACArchitecture230* f5 d& Q7 l K2 y" s# G: }/ F5 `) [5 \
4.5.5ImplementationofDecimation232
0 A# t) g( X- _$ H( e: e1 b4.5.6ImplementationofInterpolation2334 v+ E. t6 O' E6 U8 B4 n1 g; ?
4.5.7SampleRateConversion234* K7 D6 ]) D$ ]2 L% C; V
4.5.8Real-TimeSampleRateConversionUsing- T7 r; f! x& z O. Y8 v
DSP/BIOSandDSK235
/ r3 C: E- q- nReferences 245
! C: t) j; G4 O- A3 V) w/ u6 c& MExercises 245
2 |0 W- j. s- u3 u# M, B5DesignandImplementationofIIRFilters 2490 @8 {: @, H9 H6 q; b! e) H; f
5.1Introduction249
9 o/ W" F8 g+ m, B5.1.1AnalogSystems249
* m- Y3 a( V0 O+ o( ~5.1.2MappingProperties251
$ n9 U, y, d, ?1 I0 I# L0 t# }6 \9 o5.1.3CharacteristicsofAnalogFilters252
5 g" v" N4 A! N6 d5.1.4FrequencyTransforms254
" j8 k9 ], ^6 K" u) h6 r5.2DesignofIIRFilters255- B0 ?6 u! X# J
5.2.1BilinearTransform2569 e6 ]5 ]4 X$ d* i, z* s9 x
5.2.2FilterDesignUsingBilinearTransform257( R( l$ E, v* |+ Z9 q& e# V6 ?
5.3RealizationofIIRFilters258
- T9 M0 d& f# Q. I# O5.3.1DirectForms258! A1 |) F6 |5 q. @% i' S
5.3.2CascadeForms260
^+ a$ y5 c$ W! E. u& b8 o9 k! s5.3.3ParallelForms262
. e7 t: }1 Z* k& ?/ l7 V t5.3.4RealizationofIIRFiltersUsingMATLAB263' C1 k0 k1 J }* \% w
5.4DesignofIIRFiltersUsingMATLAB264
( {9 j) S: U( i9 O. G5.4.1FilterDesignUsingMATLAB2646 c2 Y7 k7 ?* H9 `# S
5.4.2FrequencyTransformsUsingMATLAB267 v7 z( x0 E! P/ t6 B$ x& w6 K
5.4.3DesignandRealizationUsingFDATool268! r; e% _# o# ]% x( L; c/ v# u
5.5ImplementationConsiderations271- G3 s& @3 G/ l: v! L
5.5.1Stability271
\, ^! G% j; U5.5.2Finite-PrecisionEffectsandSolutions273
4 k$ X% {( S+ M. o/ a" x+ d5.5.3MATLABImplementations275CONTENTS ix
# u, r& d3 R% R2 y; Y' h& ?" J5.6PracticalApplications279# \& M# D6 r1 p% R
5.6.1RecursiveResonators2794 h. @' F* `3 ]8 t0 c# V9 ]
5.6.2RecursiveQuadratureOscillators282
0 t3 I% d, V9 s( ~5.6.3ParametricEqualizers284
* [5 |3 i, d" p0 |8 S4 b6 m$ O1 D5.7ExperimentsandProgramExamples285
C; ?% m, w0 H3 ]4 t5.7.1Floating-PointDirect-FormIIIRFilter285
1 ]0 V8 X& ^( R) ?% I5.7.2Fixed-PointDirect-FormIIIRFilter286
% z3 d, k: T; S# I5.7.3Fixed-PointDirect-FormIICascadeIIRFilter287
9 h! j+ E# s6 s4 x$ j/ G5.7.4ImplementationUsingDSPIntrinsics289, }7 D/ r7 t/ y( J$ U. C8 _/ N
5.7.5ImplementationUsingAssemblyLanguage290$ G/ {4 L1 F: ^: x! o7 B, `& w
5.7.6Real-TimeExperimentsUsingDSP/BIOS293
/ P3 w9 d7 k. b) B5.7.7ImplementationofParametricEqualizer296* F% p h$ f7 }1 J6 f) b% w: g9 k
5.7.8Real-TimeTwo-BandEqualizerUsingDSP/BIOS297
; o8 h' e m+ S! i$ l+ j; tReferences 2998 A* j$ ^& l7 o* @; M i* X
Exercises 299
0 u8 ?$ o3 w+ S7 B+ |6FrequencyAnalysisandFastFourierTransform 303; L6 p9 r* b2 n; D$ Q
6.1FourierSeriesandTransform303
& z* e7 e2 u u8 ?6 D5 @" g, }6.1.1FourierSeries3036 L, V1 u$ W, P# E2 _% s( f
6.1.2FourierTransform304( }. z1 d4 E R- I5 V) U
6.2DiscreteFourierTransform305
9 n+ W/ l8 `& H: N; H6.2.1Discrete-TimeFourierTransform3058 @. M5 n& F$ i! t% A" k1 i% M+ U
6.2.2DiscreteFourierTransform307
0 [3 g- _# q# F* E w6.2.3ImportantProperties310& p8 n( t1 ]1 t
6.3FastFourierTransforms313
" Z! e$ r6 f0 G. q7 X: L0 Z6.3.1Decimation-in-Time3147 Y, T" t8 i! T0 A- o+ g2 ]4 x
6.3.2Decimation-in-Frequency316
; N+ A: E, D3 l. h2 Z0 T# u: U7 r6.3.3InverseFastFourierTransform317
& C3 i6 q, W6 _: p' \! M5 I6.4ImplementationConsiderations317
. {. w4 z; q4 E! u* b8 D# l6.4.1ComputationalIssues317
$ P" G) \8 t s; p6 m. `6.4.2Finite-PrecisionEffects318
2 x( v. }5 m% o% Q- z1 l8 g- t, V6.4.3MATLABImplementations318) u: T. }+ N% A: _
6.4.4Fixed-PointImplementationUsingMATLAB320
2 n: U" N1 K5 p, j6.5PracticalApplications322+ g2 _1 {, B2 }+ }# O6 C
6.5.1SpectralAnalysis322
3 v+ o% {* U6 T, d6 j; x& b6.5.2SpectralLeakageandResolution323! {- O3 s7 g) R+ c t1 r
6.5.3PowerSpectrumDensity325
$ z2 F( o3 W% ^% r/ C' X+ K6.5.4FastConvolution328
1 Q6 }. n+ L+ c: x q/ Y6.6ExperimentsandProgramExamples332" l- O+ p; t( v$ v
6.6.1Floating-PointCImplementationofDFT332( }( o" n5 A, i3 w; m- H0 _
6.6.2C55xAssemblyImplementationofDFT332! @. ~' e* b7 b: r+ \
6.6.3Floating-PointCImplementationofFFT336
! [6 z. F' V' l6.6.4C55xIntrinsicsImplementationofFFT3382 I0 }* j4 A; g( c n
6.6.5AssemblyImplementationofFFTandInverseFFT339
4 `& @# b f5 v# H: Z3 R& c6.6.6ImplementationofFastConvolution3437 J4 r* Q& v2 ?! x$ V# k5 c
6.6.7Real-TimeFFTUsingDSP/BIOS345, ~8 W+ g+ c/ n7 a& r2 ^) T+ ?
6.6.8Real-TimeFastConvolution347/ Q1 X5 h6 l, v' y' @0 }9 p/ S
References 3476 I' A2 D0 C8 L$ }, M( ? [
Exercises 348x CONTENTS
% h- G, V' W* R0 s7AdaptiveFiltering 351- J1 O& c: |1 C3 r7 ?8 s
7.1IntroductiontoRandomProcesses351
3 ~6 g b0 j1 v9 _7.2AdaptiveFilters3547 G9 E0 C- r* b
7.2.1IntroductiontoAdaptiveFiltering354
1 T) h, i C7 W. p$ U& D7.2.2PerformanceFunction355
: o M. R! O$ q' k7.2.3MethodofSteepestDescent358
8 Z) J) e/ E4 k! B2 b" M7.2.4TheLMSAlgorithm360
. t5 p3 N5 u& g1 l7.2.5ModifiedLMSAlgorithms361
5 o$ i2 i" o5 w/ k3 P$ s, n+ Z% \2 b7.3PerformanceAnalysis362; O3 ?; V2 m% M. x: S& q
7.3.1StabilityConstraint362
- o, K$ |% v+ }( N( l6 o7.3.2ConvergenceSpeed363! P) p7 \/ ^( D1 {& Y
7.3.3ExcessMean-SquareError363
( R9 b4 I9 e: p R! G, D4 Q1 r7.3.4NormalizedLMSAlgorithm364
0 h* ~9 c( a- j, S7 e4 P* b! D7.4ImplementationConsiderations3646 _& ^& [2 W3 C1 x' }5 Y" I
7.4.1ComputationalIssues365
& d* t9 Q$ s7 B q" C7.4.2Finite-PrecisionEffects3651 N# l$ y4 W( V$ _
7.4.3MATLABImplementations366
5 j/ @/ Z- P+ w6 M7.5PracticalApplications368
* q3 j7 |, d5 o1 k( q7.5.1AdaptiveSystemIdentification368
" e# p2 o4 v" E- Z$ J# q2 z0 V: y7.5.2AdaptiveLinearPrediction369 z; s; W. ~5 u( f! M9 ^
7.5.3AdaptiveNoiseCancelation372
' k2 T: R: m4 f/ `2 ]$ z7.5.4AdaptiveNotchFilters374
3 t5 W( u1 c% I2 z$ Q Z7.5.5AdaptiveChannelEqualization375
1 E& L4 }! e {" s4 d+ M7.6ExperimentsandProgramExamples377
' R& S1 {' z/ Y5 \3 p7.6.1Floating-PointCImplementation3776 ]* a8 }) V6 j! ^+ P& G& T
7.6.2Fixed-PointCImplementationofLeakyLMSAlgorithm379
3 J& j" q% ] }" p& [0 b7.6.3ETSIImplementationofNLMSAlgorithm3802 g* p4 |/ e# J2 I+ `$ l
7.6.4AssemblyLanguageImplementationofDelayedLMSAlgorithm383% E' C! i, [) c0 N
7.6.5AdaptiveSystemIdentification387
% @$ H4 \5 ]" y* N+ ]7.6.6AdaptivePredictionandNoiseCancelation388& A( l, Y* v+ I
7.6.7AdaptiveChannelEqualizer392( x. @: |0 i& |8 P4 f! M0 a
7.6.8Real-TimeAdaptiveLineEnhancerUsingDSK3943 G, B3 Y+ b( P5 g: s( O
References 396
- c+ ^* [7 _# j& n8 U) D) G; a, hExercises 397
" a' E: G0 r7 o, O8DigitalSignalGenerators 401
9 v, f% B, y! j- Q6 A2 X8.1SinewaveGenerators401
7 A( N, K9 }+ O) d+ @! X8.1.1Lookup-TableMethod401
5 I. a1 s9 [, i8.1.2LinearChirpSignal404. _7 f6 T, w9 Q: _" }/ c
8.2NoiseGenerators405$ O! j. d: B6 _. B! P
8.2.1LinearCongruentialSequenceGenerator405
1 C* m! h2 ^- l0 d8 y& S! v0 s8.2.2Pseudo-RandomBinarySequenceGenerator407, l! z6 q0 E a/ `6 k1 ^
8.3PracticalApplications4091 g4 x; ?, H( l" ~( K
8.3.1SirenGenerators409
; Z& T F- k7 h: |$ C" N+ }8.3.2WhiteGaussianNoise409
6 j0 ]" Q( m, {, x8.3.3Dual-ToneMultifrequencyToneGenerator410' |+ w9 o H$ P" M' w- ?0 @) G0 i
8.3.4ComfortNoiseinVoiceCommunicationSystems411+ M: }- K$ ?! T4 p
8.4ExperimentsandProgramExamples4127 m$ g0 ?. \, S" H
8.4.1SinewaveGeneratorUsingC5510DSK412
) e8 q; v( j& I& n+ U7 y+ d5 V8.4.2WhiteNoiseGeneratorUsingC5510DSK413CONTENTS xi Z) P4 o6 m* N
8.4.3WailSirenGeneratorUsingC5510DSK414, R1 w% W/ r: A; u9 W0 s
8.4.4DTMFGeneratorUsingC5510DSK415% I$ ]6 ?; W/ h* }# Q3 n
8.4.5DTMFGeneratorUsingMATLABGraphicalUserInterface416, a& r; D( `; f3 {7 Y8 A
References 418
5 l$ n( p$ g1 M: h" EExercises 4183 N3 K$ ^ v3 Q& J6 b1 _
9Dual-ToneMultifrequencyDetection 421
3 s- Q% n P3 y9.1Introduction4215 _) @( v; i' F |
9.2DTMFToneDetection422
4 V. K/ X. b: \6 u, F9.2.1DTMFDecodeSpecifications422
& Q# y0 t6 h) @9 y- r: I& j0 {# L. s* K9.2.2GoertzelAlgorithm423
1 L/ x2 w" B& b) ?/ E2 O. }: N! @9.2.3OtherDTMFDetectionMethods426; v3 T$ g! \1 H
9.2.4ImplementationConsiderations4280 }8 p/ Q5 ]# S5 Y( E
9.3InternetApplicationIssuesandSolutions4311 v" z. J. W, t% o
9.4ExperimentsandProgramExamples432) X, |/ |; {% j+ \
9.4.1ImplementationofGoertzelAlgorithmUsingFixed-PointC432
. ^8 _7 U8 I& k& \9.4.2ImplementationofGoertzelAlgorithmUsingC55x
6 ~1 i4 k) B6 S4 F8 `' KAssemblyLanguage434
1 K0 C5 z i! O7 K9.4.3DTMFDetectionUsingC5510DSK435+ w% d) _: O% g$ X& Z0 E: V9 i1 a
9.4.4DTMFDetectionUsingAll-PoleModeling439
. Z9 U. n+ C& C+ _! G' oReferences 441
. h7 i+ ]1 ^( h, W3 O+ e8 u, p9 aExercises 442
8 G4 @& j) u" D) H* @# Y10AdaptiveEchoCancelation 443
0 W! L: C' v+ Q10.1IntroductiontoLineEchoes443% M% K' I; f4 L" S {7 s
10.2AdaptiveEchoCanceler444
9 e# A; E) Y5 d" j! t10.2.1PrinciplesofAdaptiveEchoCancelation445
6 E/ `, A1 ~( W( M6 G10.2.2PerformanceEvaluation446; K, B0 h# Y( k
10.3PracticalConsiderations447
, o4 j0 G. Z, G0 T2 T* B4 }10.3.1PrewhiteningofSignals447) |: i4 W) n+ m5 p
10.3.2DelayDetection448 x2 y! ^' Y( W& x2 t5 p
10.4Double-TalkEffectsandSolutions450
+ Q6 F8 a4 ]7 [2 [ r10.5NonlinearProcessor453
9 e+ c) g4 y! R; _. V. D% R10.5.1CenterClipper453
! K; W t% B9 F6 k0 |1 Y# Q/ H/ ]10.5.2ComfortNoise4535 A; X+ E& W4 D; r8 y- X9 F
10.6AcousticEchoCancelation454
. `! o4 Y+ h) L3 g! G% @8 d. \10.6.1AcousticEchoes454
2 r) x) N5 S. w# r10.6.2AcousticEchoCanceler4560 Y+ M) c, z2 q
10.6.3SubbandImplementations457
8 M3 I+ x: M" D10.6.4Delay-FreeStructures459
7 }5 g7 k/ y3 f. B# Y10.6.5ImplementationConsiderations459
7 E. t$ d: k* E/ b10.6.6TestingStandards460
9 J: _* a$ f; N& m- ?* |0 }/ ]10.7ExperimentsandProgramExamples4618 |7 {" T# ^2 `/ d, O( x. t
10.7.1MATLABImplementationofAEC461' L: M5 d" |. l/ W7 ?
10.7.2AcousticEchoCancelationUsingFloating-PointC464
- J* A. |: o4 I9 S* ~* e10.7.3AcousticEchoCancelerUsingC55xIntrinsics468
' Z* [( M, {; y# Y10.7.4ExperimentofDelayEstimation469
8 b" p4 P% m( q) |2 |( E/ _References 472
( H9 {/ i, J7 r* FExercises 472xii CONTENTS& e6 R1 V5 b+ O$ A
11Speech-CodingTechniques 4750 C. _( a' Y# L/ O; J; g
11.1IntroductiontoSpeech-Coding475% @3 b! g' O, q/ d; z; @
11.2OverviewofCELPVocoders476
7 V: @: d# n5 a5 |3 o4 h11.2.1SynthesisFilter477
; J7 {. o1 T: E5 w11.2.2Long-TermPredictionFilter481) d" b( E( Z. }: Q8 ]& [" }8 q
11.2.3PerceptualBasedMinimizationProcedure4819 B# P* v) {$ E# D
11.2.4ExcitationSignal4824 A/ y( E! K0 b t* v
11.2.5AlgebraicCELP483
+ ~) q1 k: C& s4 ]8 o8 l; H5 P8 B: O$ t11.3OverviewofSomePopularCODECs484
, ~- _* w. d0 w11.3.1OverviewofG.723.1484& H$ \7 ]7 T6 w2 d+ }& {) k# r' R
11.3.2OverviewofG.7294888 g; ]3 \; @4 c6 L8 M& |
11.3.3OverviewofGSMAMR4903 o1 | Y: a* G( B$ C1 L& W6 A
11.4VoiceoverInternetProtocolApplications492
, B- i8 O" I; n. N+ D F11.4.1OverviewofVoIP492: H: |1 p5 ^( M! X% |: {
11.4.2Real-TimeTransportProtocolandPayloadType4933 `. _" p8 ?8 `1 \9 ^0 c! d" M
11.4.3ExampleofPackingG.729496
1 I/ d1 S& R& f11.4.4RTPDataAnalysisUsingEtherealTrace496
7 L7 Z' u) F9 y$ m+ S% z% E& E11.4.5FactorsAffectingtheOverallVoiceQuality497
9 }) Q: T- n1 k2 B I; o8 g4 @11.5ExperimentsandProgramExamples497& v9 k& s$ v# @" Z; Y j$ G9 N
11.5.1CalculatingLPCCoefficientsUsingFloating-PointC497
k. e7 n5 y' B7 d4 M t8 Q11.5.2CalculatingLPCCoefficientsUsingC55xIntrinsics499
7 `2 R) p" m1 U. H" Z5 q11.5.3MATLABImplementationofFormantPerceptualWeightingFilter504+ x6 K8 @9 R: M* o( r
11.5.4ImplementationofPerceptualWeightingFilterUsingC55xIntrinsics506! x; Z8 m# Y) S; m# G, o
References 507) n7 s% k! d4 W8 ^+ e2 _! |* e: d
Exercises 508" H8 Q" \' ]" O i- h
12SpeechEnhancementTechniques 509 c% ]; E6 t1 H% p, `4 n
12.1IntroductiontoNoiseReductionTechniques509
/ A4 g% W7 V) [/ l7 y12.2SpectralSubtractionTechniques510
9 D0 f; A, Q# s6 ?7 y+ {9 I12.2.1Short-TimeSpectrumEstimation511. y- c3 t5 Y) U% h$ p$ X0 t0 ^
12.2.2MagnitudeSubtraction511
' u& c: D9 q! _9 u5 r+ b12.3VoiceActivityDetection513( u) B) |# |+ |
12.4ImplementationConsiderations515) Y( H6 G( g; L! X5 b; g
12.4.1SpectralAveraging5159 O3 c* ?. p% u/ Q7 t/ n4 U
12.4.2Half-WaveRectification5156 d5 J3 x& X# q: o* G
12.4.3ResidualNoiseReduction516
6 c7 }" x7 p8 m1 ^" J: C, f! o12.5CombinationofAcousticEchoCancelationwithNR5167 w! }0 a+ @8 _
12.6VoiceEnhancementandAutomaticLevelControl518: `# c3 l% ?% X* Q5 x8 u6 H
12.6.1VoiceEnhancementDevices518
! g+ C( W9 i/ J1 S+ c12.6.2AutomaticLevelControl519# s3 n5 g r- c* Q8 e( i7 s
12.7ExperimentsandProgramExamples519
- z) |8 ~1 Z1 Y2 l12.7.1VoiceActivityDetection519! \4 Y8 q) p! ?( P: V$ k
12.7.2MATLABImplementationofNRAlgorithm522
+ _, K+ k% L# {12.7.3Floating-PointCImplementationofNR522
7 a/ `* j* u1 Y5 J12.7.4MixedC55xAssemblyandIntrinsicsImplementationsofVAD522
( c' f @. v/ _. B% m5 x$ U12.7.5CombiningAECwithNR526
* U L0 M' N0 z" _& }4 N6 f& {References 529' x& Y" ~" l2 g+ l
Exercises 529CONTENTS xiii
! @; M) P* R$ O13AudioSignalProcessing 531
/ ~% |2 @7 E- N13.1Introduction531
6 k6 G5 Z4 g z0 x! T1 }13.2BasicPrinciplesofAudioCoding531
$ K: i5 C( o8 T* o8 |8 I13.2.1Auditory-MaskingEffectsforPerceptualCoding533! y+ o7 r! u1 H6 s1 g7 f4 _* z8 H
13.2.2Frequency-DomainCoding536
( a1 ^- x% a6 e' N" I) z" |13.2.3LosslessAudioCoding538
D: l" E4 T7 |; R13.3MultichannelAudioCoding539
_- U, u5 {4 Z/ x: @13.3.1MP3540
7 y q6 H; g# \13.3.2DolbyAC-3541' K7 k7 ^9 G) Z% @' p
13.3.3MPEG-2AAC542
1 s$ q: Z5 T* [# s, m4 G+ r13.4ConnectivityProcessing544% t' D: I6 k6 I! u% j
13.5ExperimentsandProgramExamples544' W& Q( N: V( R* U) o
13.5.1Floating-PointImplementationofMDCT544
& Q! J6 ?6 Q# y* s" }13.5.2ImplementationofMDCTUsingC55xIntrinsics547
: S4 Z2 Q# D6 {, ^6 Y u' d' l13.5.3ExperimentsofPreechoEffects549# l2 ?+ O. E# D' `: s
13.5.4Floating-PointCImplementationofMP3Decoding549
" \* \3 m1 l% b. ]References 553" X* ?7 ?: U, g0 E1 R& |( r
Exercises 553/ ~$ A3 u2 v* \, G( r0 [8 o
14ChannelCodingTechniques 555, H$ O! B) p" H. q& a
14.1Introduction555
' I- i& |+ o5 W% F; [, A14.2BlockCodes556" ^! w3 m9 r: }3 @5 Z- G
14.2.1Reed–SolomonCodes5587 a, i, l' O0 R( V$ H
14.2.2ApplicationsofReed–SolomonCodes5626 F9 y4 W* E7 I& C+ [/ Q
14.2.3CyclicRedundantCodes563
7 @- m% m a+ Z2 D: Z14.3ConvolutionalCodes564
: I! M( R/ R: M6 U14.3.1ConvolutionalEncoding5647 d) H/ O6 I5 F' j9 i( M+ K
14.3.2ViterbiDecoding564
4 Q* ~0 d I9 n14.3.3ApplicationsofViterbiDecoding566
! Z# R5 o9 D/ Y9 b( e14.4ExperimentsandProgramExamples569; }! {: C- B% ?$ d8 e( S1 J
14.4.1Reed–SolomonCodingUsingMATALB569, K! C1 n4 q+ Y
14.4.2Reed–SolomonCodingUsingSimulink570
6 K5 T5 x9 z/ p14.4.3VerificationofRS(255,239)GenerationPolynomial571
/ B9 R; E1 @/ v14.4.4ConvolutionalCodes572; q1 D- R* p# `, {+ w, U
14.4.5ImplementationofConvolutionalCodesUsingC573# u+ R" M* o' y5 H
14.4.6ImplementationofCRC-32575
) S5 f& b: b- l: y0 N- v- yReferences 576
% \9 B0 y' y" F+ IExercises 577 P/ E0 C5 { h, c" ^! D' B
15IntroductiontoDigitalImageProcessing 579* F6 x, g, o0 H1 ]' m
15.1DigitalImagesandSystems5790 P$ o. g" F- C2 \* U% t' u
15.1.1DigitalImages5795 x/ i$ R4 M1 j# _7 }( S9 u, x
15.1.2DigitalImageSystems5803 V" S6 n6 i7 q$ M2 Z+ I+ x+ i* z
15.2RGBColorSpacesandColorFilterArrayInterpolation581/ H/ f; @8 ?8 I# u0 [
15.3ColorSpaces584( L" O% v6 \+ v! d( I# Q& t
15.3.1YCbCr andYUVColorSpaces5840 u* J# |( {/ h1 p* W0 V
15.3.2CYMKColorSpace585xiv CONTENTS
: {' T5 b2 ?8 j6 V% d' S/ B15.3.3YIQColorSpace585
2 O& I m* Q6 ~/ {0 H p. `" V15.3.4HSVColorSpace585: S1 f% I- K- M- R2 N2 W$ [
15.4YCbCr SubsampledColorSpaces5866 D6 G3 S4 }) b' e% O, Q
15.5ColorBalanceandCorrection586
+ {! n5 A/ r( {$ R3 F15.5.1ColorBalance587- P' n q z# M8 G. ^
15.5.2ColorAdjustment5886 X3 P. X/ ?6 J7 {
15.5.3GammaCorrection589
1 X4 g; a6 d- r15.6ImageHistogram590
2 t8 x. U$ w! E5 n: ]6 W4 y15.7ImageFiltering591# a. `, t: P$ {( S1 F! `. v# a
15.8ImageFilteringUsingFastConvolution596+ P& D2 i7 A, K x
15.9PracticalApplications597
4 F; M8 t0 m9 e- y2 l, G/ `15.9.1JPEGStandard597
% v& |! o# N0 Q" b' p# [8 n( p15.9.22-DDiscreteCosineTransform599
( o5 X0 A; o0 v, F15.10ExperimentsandProgramExamples601
r9 a3 i, Y2 {15.10.1YCbCr toRGBConversion601; I- g5 \2 V5 g0 a' ~" x# S+ W
15.10.2UsingCCSLinkwithDSKandSimulator604+ Z& Z1 t$ ~, w) n% }
15.10.3WhiteBalance607
7 h- x) Z/ S; H$ ~6 k( H2 B; `, m" P9 I15.10.4GammaCorrectionandContrastAdjustment610
8 V m% r7 z8 J, r15.10.5HistogramandHistogramEqualization611* D! A: l) n$ H0 A8 ?. I
15.10.62-DImageFiltering613
1 H5 F! r8 E6 h2 \# O15.10.7ImplementationofDCTandIDCT617
% I- U2 `' b9 O+ U+ L a5 a8 S15.10.8TMS320C55xImageAcceleratorforDCTandIDCT621
, c) T) o6 o9 @5 G15.10.9TMS320C55xHardwareAcceleratorImage/VideoProcessingLibrary623* s! i: v5 f0 q
References 625
* e) W$ M; G2 m7 _Exercises 625 |
|