|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1IntroductiontoReal-TimeDigitalSignalProcessing 19 a! r3 f/ w! {) ?
1.1BasicElementsofReal-TimeDSPSystems2
, a( p. ^$ B2 y0 I1 K- O- b A3 x1.2AnalogInteRFace3
1 ^# m- b% x" I8 d) e8 Y1.2.1Sampling3 W1 U$ ]' c# G8 L4 s
1.2.2QuantizationandEncoding7* ?6 s: h1 Y4 ?& J+ ^, Y) `
1.2.3SmoothingFilters8
1 Z8 ~9 c: A1 J; `1.2.4DataConverters9
$ u" r. }- l) f7 \) T) U2 l1.3DSPHardware107 `/ g* F3 |" {8 S& V9 e( d- M
1.3.1DSPHardwareOptions10
3 J: i7 T2 K+ i: P# [! j. K1.3.2DSPProcessors133 [8 S( {) m/ E# Y$ J0 v( ]
1.3.3Fixed-andFloating-PointProcessors15
: I9 r/ z8 R+ r6 k# Z9 |1.3.4Real-TimeConstraints16
# w" y( W# k4 q. l" W; y1.4DSPSystemDesign17
6 ^, E3 ]$ W: n* ^; R. V0 ?1.4.1AlgorithmDevelopment18+ o5 k1 }/ ^' v
1.4.2SelectionofDSPProcessors19) y Z; d& I. i v" z: q
1.4.3SoftwareDevelopment20
W* ]. d; Y4 w- E% S1.4.4High-LevelSoftwareDevelopmentTools21
8 \. K; F6 N" A: q; N+ }& f4 G" y1.5IntroductiontoDSPDevelopmentTools22% J N3 F1 s" _6 r: K
1.5.1CCompiler22. D; P( ?) X" {2 i, Y9 B9 h
1.5.2Assembler235 X {4 r8 i9 a* C
1.5.3Linker24; s! m- y: g" X' q8 H" z( k3 n- C& u
1.5.4OtherDevelopmentTools25# |" ~6 p6 J( }
1.6ExperimentsandProgramExamples253 b# U/ [# B% U1 v" y4 _1 y( Z
1.6.1ExperimentsofUsingCCSandDSK267 v' r1 d0 |5 m1 X- |" y ]
1.6.2DebuggingProgramUsingCCSandDSK29
5 |, X0 ?. k2 @& b. y1.6.3FileI/OUsingProbePoint32
" F- Q6 I9 E2 L( Q5 J+ o1.6.4FileI/OUsingCFileSystemFunctions35
$ x, X, g; ~ Z0 U+ O7 Z( p1.6.5CodeEfficiencyAnalysisUsingProfiler37
* k* f! `5 w, A. f* H: i) L! ?1.6.6Real-TimeExperimentsUsingDSK39! `2 t5 h( l, ^0 @7 v, J7 @
1.6.7SamplingTheory42
" q e7 J3 j; i: A1.6.8QuantizationinADCs44
8 K: h" I: p7 R8 aReferences 452 W5 r9 `$ E+ o9 E
Exercises 45vi CONTENTS
2 p( {) m- K: o: S* I2IntroductiontoTMS320C55xDigitalSignalProcessor 492 L9 A" i( }" I8 ~
2.1Introduction495 a' {% H& ?0 e. A/ {) a* m
2.2TMS320C55xArchitecture50, s) V0 F/ _4 _8 _" Q2 I: P
2.2.1ArchitectureOverview506 ^$ }8 e2 C) a+ s3 x: E; Y, B
2.2.2Buses535 a0 O3 X1 f* z5 w) X6 n
2.2.3On-ChipMemories53
9 p( y5 o1 k: c; I2.2.4Memory-MappedRegisters55
( u, F& f. n) A; M* @* K8 Y" c2.2.5InterruptsandInterruptVector55! B) Z, z4 E6 _/ \
2.3TMS320C55xPeripherals58, B, ~2 n1 I0 e4 S- o
2.3.1ExternalMemoryInterface60
" I: x" n% J0 r" w3 f, U: R7 M2.3.2DirectMemoryAccess60
5 H2 F0 Z Z3 P) m& I2.3.3EnhancedHost-PortInterface614 c( z( B3 {! e
2.3.4Multi-ChannelBufferedSerialPorts62
- u# t( o' A2 k0 L2.3.5ClockGeneratorandTimers65
% Y$ H# {/ t3 W+ \. I, E3 [2.3.6GeneralPurposeInput/OutputPort65; m% l7 Y. X# t3 x1 U8 J
2.4TMS320C55xAddressingModes65
1 L. b ^% h& R" p2.4.1DirectAddressingModes66
# i6 O1 i q* C6 {; Q. q2.4.2IndirectAddressingModes689 V! ?8 ^. d3 K8 x& W/ x8 N; r
2.4.3AbsoluteAddressingModes70
8 { a, q& c8 c) v3 a3 _+ ?2.4.4Memory-MappedRegisterAddressingMode70, E1 o4 z! o3 R& I; Z- z
2.4.5RegisterBitsAddressingMode718 O+ A- E0 t0 l. u8 A" J
2.4.6CircularAddressingMode72
( H8 |0 |) {' n# T. Z3 B- y7 E, }2.5PipelineandParallelism73
9 [; D# [9 {8 ^4 N2.5.1TMS320C55xPipeline73
* I( b0 Q) T; K: U5 }2.5.2ParallelExecution74
! l" r% T+ r8 N: O+ N5 v( P3 z2.6TMS320C55xInstructionSet76
; c) X7 f$ _- {, [$ }8 }2.6.1ArithmeticInstructions76
' P% A' H- Q% Y+ w" Y1 A2.6.2LogicandBitManipulationInstructions77
9 e) U- |/ V1 I2 A! d4 g2.6.3MoveInstruction78
9 A3 ?) q S* E! J. E w2.6.4ProgramFlowControlInstructions783 d2 u8 V& M: M( e6 R, n
2.7TMS320C55xAssemblyLanguageProgramming82/ f+ F4 U& I+ v2 M
2.7.1AssemblyDirectives822 s% h7 S% d2 u( c8 a+ y
2.7.2AssemblyStatementSyntax84' \8 E7 n! M( [3 }! M
2.8CLanguageProgrammingforTMS320C55x86
4 F* O! O5 Z9 ]4 _8 z0 i: Z2.8.1DataTypes86
) x* D' i* K( _# m u2.8.2AssemblyCodeGenerationbyCCompiler878 o2 S* h. s( i& ^
2.8.3CompilerKeywordsandPragmaDirectives892 N+ D7 G5 T! {8 x% H4 J
2.9MixedC-and-AssemblyLanguageProgramming90
2 u+ [% K2 ]+ i$ L2.10ExperimentsandProgramExamples93/ b0 @7 K+ {3 \4 D7 V6 v
2.10.1InterfacingCwithAssemblyCode93; A3 n3 P" j2 c, `: H
2.10.2AddressingModesUsingAssemblyProgramming949 t1 q6 N: p: P# ?' R
2.10.3Phase-LockedLoopandTimers972 p3 \. X1 C; e: |
2.10.4EMIFConfigurationforUsingSDRAM1036 R# }% A% s8 O8 _
2.10.5ProgrammingFlashMemoryDevices105& g, u( V: J# `! x0 l
2.10.6UsingMcBSP106
3 ~2 t1 T9 l6 T/ V2.10.7AIC23Configurations109
* Q8 Q6 U' Y1 Q+ M- D) C4 `2.10.8DirectMemoryAccess111: }5 R+ J* }" Q
References 115& f2 i9 [( j! [, N. g; c! K
Exercises 115CONTENTS vii
! a6 E9 ^; T; d8 c3DSPFundamentalsandImplementation. f2 ^# {& X, U; P0 e
Considerations 1215 C S/ I0 n5 B& e/ R, D/ w
3.1DigitalSignalsandSystems1211 ^1 `: w- T' V1 N/ |: C
3.1.1ElementaryDigitalSignals121& U/ }& s( A' k: _8 {
3.1.2BlockDiagramRepresentationofDigitalSystems123+ |2 K) ^0 A+ V, I0 a) O3 W; [5 H2 h
3.2SystEMConcepts126
9 }$ h3 T, p7 ~- }7 E7 X: u# x1 ~3.2.1LinearTime-InvariantSystems126
6 m/ d; \5 N3 {- k, e- G1 ^7 i3.2.2The z-Transform1303 u" `. }' |6 T$ s f/ M
3.2.3TransferFunctions132
/ g* @0 c' j2 s- K3.2.4PolesandZeros135
1 l8 ^# I/ a9 v7 c# `$ ~) k2 \3.2.5FrequencyResponses138
, S' K0 b6 D& m* v8 h- S3.2.6DiscreteFourierTransform141
0 N: Z F' |; V) A. B, D3.3IntroductiontoRandomVariables142
0 G3 Y9 \* |' C; H3 a" w6 `3.3.1ReviewofRandomVariables142$ \3 S- J4 L% Q- c2 \5 g
3.3.2OperationsofRandomVariables144* J, X; v# K; ~1 N0 l
3.4Fixed-PointRepresentationsandQuantizationEffects147
) l3 o$ x) R" B, C) `. |, X3.4.1Fixed-PointFormats147: W* J) o9 a" z% U1 f! O
3.4.2QuantizationErrors151/ u3 j( z& h( n4 c1 o) q: o4 u/ ?
3.4.3SignalQuantization151
: i- _+ n9 a: C3.4.4CoefficientQuantization153
4 V9 f1 Q0 R' q3.4.5RoundoffNoise1531 D# E/ n4 Q4 r: z: N
3.4.6Fixed-PointToolbox154
/ A- p1 b. n( \; t. r% ~3 S3.5OverflowandSolutions157- o1 w; N7 m- |0 A* a; y7 V
3.5.1SaturationArithmetic157
2 D$ p, {1 A8 v a" m" |9 H3.5.2OverflowHandling1586 \, F4 C2 O, @" x4 N- Z3 J
3.5.3ScalingofSignals158
2 `; u5 u1 d$ g; I; E8 i3.5.4GuardBits1598 x( Q! a7 z G' R0 h4 }5 ]2 E
3.6ExperimentsandProgramExamples1595 O, g$ S& Q3 |
3.6.1QuantizationofSinusoidalSignals160 l9 J Z3 C3 c+ W
3.6.2QuantizationofAudioSignals1614 e' S- C4 F) h& q
3.6.3QuantizationofCoefficients162$ Z L, q9 ^/ p7 A
3.6.4OverflowandSaturationArithmetic164
% {$ l' k/ L: r" E6 T7 L. t6 Q$ e3.6.5FunctionApproximations167
& s. R& U/ o! V- \% |3.6.6Real-TimeDigitalSignalGenerationUsingDSK175( @5 a0 H, a" `6 i( S0 J2 e$ T
References 180
. p1 l. K0 P0 `' [, [Exercises 180
6 S! e: ]: ~1 U' l1 m8 m! W4DesignandImplementationofFIRFilters 185
" L, G2 X1 ?, W( D/ P4.1IntroductiontoFIRFilters185
; w% j& ]- h, j) O3 V" H7 R; V+ [4.1.1FilterCharacteristics185
* ^! h% h. s X6 I4.1.2FilterTypes187
9 W7 q: F' A/ P" g- N+ _4.1.3FilterSpecifications189, K! V: n/ u, \! P1 r3 ^! k' h
4.1.4Linear-PhaseFIRFilters191
! x8 o E) P2 ~, F4 t4.1.5RealizationofFIRFilters194
0 a; ^, |- e( B' L2 b5 z4.2DesignofFIRFilters196% r9 Q4 N: T k( u
4.2.1FourierSeriesMethod197# C. K7 e$ E$ @6 j/ f
4.2.2GibbsPhenomenon198
2 E, ^) _' L. U4 i8 y4.2.3WindowFunctions201viii CONTENTS- l8 S+ o4 H. G5 Q- q% @ ]
4.2.4DesignofFIRFiltersUsingMATLAB206
( S3 z8 p' J* v- J( Z9 r4.2.5DesignofFIRFiltersUsingFDATool2074 E: B+ d# X8 o D
4.3ImplementationConsiderations213
) x9 n( Q" q& O0 A7 i% \4.3.1QuantizationEffectsinFIRFilters2138 X$ f+ a2 p+ ~& G
4.3.2MATLABImplementations216
: M. f# _+ ^$ @* z0 U* O4.3.3Floating-PointCImplementations218* A. H, N8 g& L) D& C. _; I/ I
4.3.4Fixed-PointCImplementations2193 G4 o& J! F7 }: n( N. g
4.4Applications:InterpolationandDecimationFilters2207 a% }& D m2 e' E7 ?$ i6 C0 Y
4.4.1Interpolation220
$ M+ s* c; R1 @4.4.2Decimation221* M* R5 B4 k% h7 k; t0 [# F# a
4.4.3Sampling-RateConversion221( p) }+ F3 p- e7 I3 D
4.4.4MATLABImplementations224
; x* T( t0 b- e% d4.5ExperimentsandProgramExamples2250 M" M- |- c9 n! o: ^1 b$ T$ t! R
4.5.1ImplementationofFIRFiltersUsingFixed-PointC226
- y6 M0 s+ E5 }: u6 Z4.5.2ImplementationofFIRFilterUsingC55xAssembly
, m/ t0 }) Q& C3 E/ u2 r% fLanguage226
2 T' Z" u; N* V& Q) S# r6 D! L o( Q4.5.3OptimizationforSymmetricFIRFilters228# `! p9 h, X4 b
4.5.4OptimizationUsingDualMACArchitecture230
$ O' }' o: g5 S/ m) a0 W7 @! N4.5.5ImplementationofDecimation232
& _- j8 m8 u9 J. W4.5.6ImplementationofInterpolation233& C8 z6 w) x& X# @ g' [, S
4.5.7SampleRateConversion2349 w. D! U1 e! b1 S
4.5.8Real-TimeSampleRateConversionUsing
+ ]. r1 n: i2 C+ i2 tDSP/BIOSandDSK235
+ {6 m0 ^" U7 M. x; D* t; tReferences 245) G$ v# J4 y# n
Exercises 245) @. w3 O" O6 v" r; y; K
5DesignandImplementationofIIRFilters 249# O3 _$ @' ]- Q2 {+ `
5.1Introduction249% G5 o+ `6 W, P( u. W
5.1.1AnalogSystems2490 ? G3 [( G0 n- _9 h: w
5.1.2MappingProperties2516 U7 Q2 k$ P0 A( ^# p
5.1.3CharacteristicsofAnalogFilters252
0 M: E3 J9 j/ k5 Z% X5.1.4FrequencyTransforms254
9 O' N0 W# X( W/ }# ^) i5.2DesignofIIRFilters255, f: o- V; [0 o
5.2.1BilinearTransform256% M" X! u# r' t: x' m
5.2.2FilterDesignUsingBilinearTransform257, s- c3 q; V9 ^* Q) g, h. x/ k
5.3RealizationofIIRFilters258
- u9 r3 @8 R% [, ?5.3.1DirectForms258
C: A d' W. o2 Q! e( ]) ]4 m5.3.2CascadeForms260
7 J% z/ `2 U' p7 w0 V5 t: g5.3.3ParallelForms262
1 I% ]5 R1 D) X e! v" z8 W5.3.4RealizationofIIRFiltersUsingMATLAB2636 `" z8 @3 D: S" L7 h0 t3 X. Z- F
5.4DesignofIIRFiltersUsingMATLAB264! x# v4 P. S2 o
5.4.1FilterDesignUsingMATLAB264
. b+ r( P2 |7 l1 z) Z5.4.2FrequencyTransformsUsingMATLAB267, v$ f1 W# \/ P: {" x# O. n& W
5.4.3DesignandRealizationUsingFDATool2688 w% y# G: l" M9 u }
5.5ImplementationConsiderations271
# d7 B) m5 S( T4 Q: Y( A5.5.1Stability271' ^7 m3 z. y- L( p- ?# ~
5.5.2Finite-PrecisionEffectsandSolutions273
1 D5 |5 G9 k3 Z! ^5.5.3MATLABImplementations275CONTENTS ix
, u- ^% A% Y; t: o9 b5.6PracticalApplications279 z( q4 W! C) ^8 B1 O7 `
5.6.1RecursiveResonators279
4 I+ r# Q; Y* f5.6.2RecursiveQuadratureOscillators282- n" h: i- m. H8 O {. f
5.6.3ParametricEqualizers284
3 m5 ]4 f/ I# R5.7ExperimentsandProgramExamples285
9 u5 W7 M2 G3 j5.7.1Floating-PointDirect-FormIIIRFilter2850 l) \% Q) U8 b& b) R0 Q% y: \) J
5.7.2Fixed-PointDirect-FormIIIRFilter286 r, ^ j7 P# l. q/ ^) Q: O
5.7.3Fixed-PointDirect-FormIICascadeIIRFilter287+ l: u2 j" Y9 t- \- ]0 y4 E. U
5.7.4ImplementationUsingDSPIntrinsics289
! `0 k4 u( U7 o" L5.7.5ImplementationUsingAssemblyLanguage290: a I( r6 Z+ N: h$ c n1 F5 M6 f) `
5.7.6Real-TimeExperimentsUsingDSP/BIOS293( V" o& ?% S5 U" A0 y
5.7.7ImplementationofParametricEqualizer296: T3 W# e) p" |! g8 x
5.7.8Real-TimeTwo-BandEqualizerUsingDSP/BIOS297
0 T% \. G* V2 F: J. T- q" o- ]References 299, D& D, a! ?& b
Exercises 2993 }$ r4 B/ ]# c1 P
6FrequencyAnalysisandFastFourierTransform 303" J, K! K6 P8 o/ ~2 l
6.1FourierSeriesandTransform303
k) G0 s/ K0 B( ^9 S2 A, y6.1.1FourierSeries3037 s) M& y4 `3 @( B5 w! I
6.1.2FourierTransform304
2 M4 Q3 L1 A2 Y) h0 H6.2DiscreteFourierTransform305
% d0 R% U! t, I0 \; i% C& w6.2.1Discrete-TimeFourierTransform3056 r* X" y j( {& L
6.2.2DiscreteFourierTransform3071 b! B- u Y6 ?; X) X4 `2 E
6.2.3ImportantProperties310
2 m$ T; Y% n- N6 e8 S6.3FastFourierTransforms313
% Y1 y1 n' P& c6.3.1Decimation-in-Time314, L ^2 r! o' K0 ?% t( P
6.3.2Decimation-in-Frequency3168 d9 @* C- `; P8 `+ r( x9 t
6.3.3InverseFastFourierTransform317
5 Y6 W* U( V7 A5 F; Q P4 f; {0 ^6.4ImplementationConsiderations3178 y& Y M- B: T" x- z8 l8 Z
6.4.1ComputationalIssues317
- q: q% N$ F) G5 W1 M6.4.2Finite-PrecisionEffects318
+ E0 f4 Z6 L0 e- S# V @8 B* ~6.4.3MATLABImplementations318
! D& {' B1 q. k1 a. D, I, G: x6.4.4Fixed-PointImplementationUsingMATLAB320
6 S$ r2 x+ D, S' L7 \) e6.5PracticalApplications322* D0 O; T7 w: A7 t4 y
6.5.1SpectralAnalysis322, E" |7 L6 L+ `
6.5.2SpectralLeakageandResolution323
9 h9 }8 A, Y) W/ R6.5.3PowerSpectrumDensity325
4 C8 d* B$ w4 z8 @' l6.5.4FastConvolution328
3 T4 T' b& M; N! f- ?6.6ExperimentsandProgramExamples332
6 d4 l! _3 I: |- p6.6.1Floating-PointCImplementationofDFT332, z2 S6 i# O( L5 _7 ?
6.6.2C55xAssemblyImplementationofDFT332
1 i- }3 D5 o3 c6.6.3Floating-PointCImplementationofFFT336
4 F% F9 b3 U# a) Q) G* M$ q6.6.4C55xIntrinsicsImplementationofFFT3387 |+ a. a* O! G# V' E, x& _
6.6.5AssemblyImplementationofFFTandInverseFFT339
% M9 j5 V( U8 p/ `2 F- v3 \' m2 _- b6.6.6ImplementationofFastConvolution343
7 O$ p7 a- C: v; h0 r% |( D" U6.6.7Real-TimeFFTUsingDSP/BIOS345: W1 e# ^3 J1 z
6.6.8Real-TimeFastConvolution347
8 }0 U5 T5 ]% ?( o8 M* I. }2 xReferences 347
6 i. U' x$ A1 \# dExercises 348x CONTENTS
' G8 |+ y2 ?. P: I) t7AdaptiveFiltering 351
7 d: o# x, L0 w! K* l# s7.1IntroductiontoRandomProcesses351
! T. U; P* X5 }$ }* @0 s3 D7.2AdaptiveFilters354# U$ b5 ^' F% z0 O* v' z; D5 P: K
7.2.1IntroductiontoAdaptiveFiltering3541 @" T. _1 Q" `6 M
7.2.2PerformanceFunction355: l9 E S5 X, i0 }
7.2.3MethodofSteepestDescent358( D6 t1 g6 u7 u- R" M# c
7.2.4TheLMSAlgorithm360
6 |) F) d2 U. [/ {8 G& v7.2.5ModifiedLMSAlgorithms361
- y# U2 Y9 }# t+ l! j; T7.3PerformanceAnalysis362
0 r1 J& k, b* C; a0 K/ O( U7 |2 V7.3.1StabilityConstraint362; H4 u2 x2 F0 S" s4 k. ?- y7 S
7.3.2ConvergenceSpeed363/ _/ S" \" ~* B% M6 Q/ S0 d) Z
7.3.3ExcessMean-SquareError363
& U) ~. ^: x% l/ A0 C/ v7.3.4NormalizedLMSAlgorithm364
2 y. J7 @6 [0 K* q1 k! R7.4ImplementationConsiderations364
2 z# n0 `' K, [/ Y/ R" ]; @7.4.1ComputationalIssues365
& i, o8 B! ]2 W; J& r7.4.2Finite-PrecisionEffects3659 b! e5 m& K8 U! e9 e
7.4.3MATLABImplementations366
- i; }7 g& `( F) `, I. v7.5PracticalApplications368# d3 ]* D8 L/ e
7.5.1AdaptiveSystemIdentification3683 P$ P0 O, w o) @2 X# t$ y
7.5.2AdaptiveLinearPrediction369$ I4 |* m4 U; v5 B
7.5.3AdaptiveNoiseCancelation372
2 h! L. L' o2 s2 i$ g8 C7.5.4AdaptiveNotchFilters374
/ e* _* i% A4 s8 s( f7.5.5AdaptiveChannelEqualization3751 `9 z" J: j1 r, d
7.6ExperimentsandProgramExamples3775 V6 ~8 V C I7 K+ B' R! S
7.6.1Floating-PointCImplementation377. e! j9 L$ l( l: Q. U M
7.6.2Fixed-PointCImplementationofLeakyLMSAlgorithm379& T1 Z/ \" S2 k7 ^1 h
7.6.3ETSIImplementationofNLMSAlgorithm380& ]' [# j* _% C% D
7.6.4AssemblyLanguageImplementationofDelayedLMSAlgorithm383
V0 W( F6 i8 K+ a1 Q+ ]7.6.5AdaptiveSystemIdentification387
! |/ H* @; f9 Z! j/ @- }* B4 B7.6.6AdaptivePredictionandNoiseCancelation388( r# |) h4 m0 R% I: X4 @' H
7.6.7AdaptiveChannelEqualizer392
$ o) t r1 ^- j7 q7.6.8Real-TimeAdaptiveLineEnhancerUsingDSK3945 f% j5 o1 ^. ^
References 3966 L5 U7 r. J, R& j( e5 R0 }
Exercises 397& h; E1 b4 \! o: \( r5 K# ~& L# ]7 i6 e
8DigitalSignalGenerators 401
9 n% F% f0 _1 }* R7 _) h7 U. d; a8.1SinewaveGenerators401
, y$ t6 Q# p/ m. D2 x8.1.1Lookup-TableMethod401' Q, J& I7 g8 v6 j
8.1.2LinearChirpSignal404
* t: M9 ?' G+ r0 N" I1 I6 n: S+ A8.2NoiseGenerators405
/ i. g+ T5 g, S' w# d& k8.2.1LinearCongruentialSequenceGenerator4057 L7 @# m+ d/ I8 X
8.2.2Pseudo-RandomBinarySequenceGenerator407
% a5 c: E E% V2 w. [8.3PracticalApplications409
) \$ y& E$ U0 o. n# A8.3.1SirenGenerators4091 x2 o: A+ Z7 x3 ~$ E' d3 [5 }
8.3.2WhiteGaussianNoise4098 \+ `0 |* A0 e# r4 E
8.3.3Dual-ToneMultifrequencyToneGenerator410% x1 [0 h& F( ?: U' l! l5 O" {
8.3.4ComfortNoiseinVoiceCommunicationSystems411
# y |: \! N4 R- Y8.4ExperimentsandProgramExamples412
+ }: c# W% a3 f1 U: Z0 |6 p" K8.4.1SinewaveGeneratorUsingC5510DSK4120 D5 W% J, G+ i
8.4.2WhiteNoiseGeneratorUsingC5510DSK413CONTENTS xi
/ D7 j0 } M& y8.4.3WailSirenGeneratorUsingC5510DSK414
# t4 R$ {: a6 t2 |& W/ A) j8.4.4DTMFGeneratorUsingC5510DSK415
( f8 q: K8 P, a0 I8.4.5DTMFGeneratorUsingMATLABGraphicalUserInterface416" ]( x3 S: j0 U. S
References 418
, O: m- t( M4 {8 m' K2 N7 PExercises 418
8 G. \4 j0 F8 a8 d" F, p2 w) }* X9Dual-ToneMultifrequencyDetection 421- |, b0 o& b2 _" E" a9 Q
9.1Introduction421
4 Q5 I! }/ P$ J) x- t9.2DTMFToneDetection422
: p' H: s. G' G: R* U' |9.2.1DTMFDecodeSpecifications422
' {7 L0 k6 A5 P) N2 `9.2.2GoertzelAlgorithm423
7 b+ b P9 i: F" u4 A5 ?7 d' t9.2.3OtherDTMFDetectionMethods4264 K( E; A/ S- ?2 \. [" N
9.2.4ImplementationConsiderations428( d" Q) A( I5 |. y
9.3InternetApplicationIssuesandSolutions431
2 r# e6 L6 e" R8 M; @) y9.4ExperimentsandProgramExamples432: X, Y5 g$ R5 {' Q0 g) n( _
9.4.1ImplementationofGoertzelAlgorithmUsingFixed-PointC432
+ ^; D4 R0 F8 p' r# L+ l6 T9.4.2ImplementationofGoertzelAlgorithmUsingC55x
7 g' b' a! y$ r* t% DAssemblyLanguage434+ D! u9 @$ c3 ^4 {: T8 Y
9.4.3DTMFDetectionUsingC5510DSK435" ^# F- W& H' @, [( B
9.4.4DTMFDetectionUsingAll-PoleModeling439, P( q% y: E T* F
References 441% S6 D9 ^5 B2 F3 u
Exercises 442
4 ^/ W- ^" K6 r" V' j' a4 j- D10AdaptiveEchoCancelation 4433 `$ w3 V% u. z8 I9 A3 n' @: R# R
10.1IntroductiontoLineEchoes443" ]: j1 c' s% [
10.2AdaptiveEchoCanceler444; L! j1 _; M! `3 |2 A
10.2.1PrinciplesofAdaptiveEchoCancelation445; o$ n1 E" h8 c- P4 Y. T) }7 Y
10.2.2PerformanceEvaluation446
3 I1 |' @% l+ F$ e% k# q- T10.3PracticalConsiderations4473 @; H! N7 ^3 h( \- W0 B2 ^
10.3.1PrewhiteningofSignals447
( a1 `. [5 N) N" K$ S10.3.2DelayDetection448
5 p. ]& E7 d# I( T. Q10.4Double-TalkEffectsandSolutions450
8 H# A: r1 G9 }: S10.5NonlinearProcessor453
7 F; z8 x. @6 j5 d10.5.1CenterClipper453
5 _- q j S, R+ ]7 F( C$ |/ j10.5.2ComfortNoise453" H* d9 _, C5 i2 d7 f3 j; A. |
10.6AcousticEchoCancelation454
3 R7 }$ s! r( k3 w5 P( ]- V10.6.1AcousticEchoes454
I0 X' a1 X* u! s10.6.2AcousticEchoCanceler456
) L' w# O( q, _* F/ q+ z4 ]- T5 m10.6.3SubbandImplementations457
$ F" M2 y6 o% \3 ]$ `6 e10.6.4Delay-FreeStructures459
0 S/ G: k1 ]5 G. @. V10.6.5ImplementationConsiderations459
+ C4 k( M/ ]' S# ?4 s' ]10.6.6TestingStandards460- B# ~, }5 F; @- a
10.7ExperimentsandProgramExamples4611 E. B: [7 v7 K: Z, n1 X! ?. ?* X
10.7.1MATLABImplementationofAEC461* Y" l+ e, O& E. R
10.7.2AcousticEchoCancelationUsingFloating-PointC464
3 ?5 P1 F: R& q' [. ^1 I/ I6 v* v10.7.3AcousticEchoCancelerUsingC55xIntrinsics468
! e2 ~* K& ^, n, y- Z/ R3 A6 p% i* Q% Y10.7.4ExperimentofDelayEstimation4692 I+ p; j% p: w0 o5 j* P) c- h
References 472
. E7 d$ |5 H* ^Exercises 472xii CONTENTS5 {* s/ A7 J3 }- K
11Speech-CodingTechniques 475* T4 t% T: } w7 M5 s. N
11.1IntroductiontoSpeech-Coding475" x2 e+ |1 A: W
11.2OverviewofCELPVocoders476
- L ?) A, l4 z7 s$ s* R11.2.1SynthesisFilter477
$ e( e7 R3 M' U# _11.2.2Long-TermPredictionFilter481) A6 ~9 n5 u9 a% X1 f- F0 m% l
11.2.3PerceptualBasedMinimizationProcedure481
2 d* S5 ?. ?8 ]2 b11.2.4ExcitationSignal482$ M3 j5 T; T5 K. X- t' l) I: F* }
11.2.5AlgebraicCELP483
9 D% F. Y4 l8 h. Y7 g7 n11.3OverviewofSomePopularCODECs484
/ ^2 q: {4 ^/ G- m11.3.1OverviewofG.723.1484
8 K" U' x8 w6 U" B- l0 f11.3.2OverviewofG.729488
- a! A9 B" m- i2 M, Q11.3.3OverviewofGSMAMR4900 F7 B4 W0 c. M/ Z L0 x
11.4VoiceoverInternetProtocolApplications492" m; _. z& j& n: j
11.4.1OverviewofVoIP492. X1 d6 Z" g( I5 ]0 I8 w; s/ u- T
11.4.2Real-TimeTransportProtocolandPayloadType493
# P( i. K: Q! t( v" A11.4.3ExampleofPackingG.729496
" E7 s J! O1 j: D0 Z! K11.4.4RTPDataAnalysisUsingEtherealTrace496, b$ ^+ z' Y! b" n: Z
11.4.5FactorsAffectingtheOverallVoiceQuality497: Y7 J- A8 w6 n# B% X, k
11.5ExperimentsandProgramExamples4976 w% P, c- K; ?( S
11.5.1CalculatingLPCCoefficientsUsingFloating-PointC4972 e6 m' R" e4 U% m
11.5.2CalculatingLPCCoefficientsUsingC55xIntrinsics499( r* S4 R- r2 e
11.5.3MATLABImplementationofFormantPerceptualWeightingFilter504; s! y% f# J. U* T- H
11.5.4ImplementationofPerceptualWeightingFilterUsingC55xIntrinsics506
: i2 |6 m8 J6 IReferences 5073 s2 g6 K8 ~' L& P
Exercises 508) ?) s5 f; C! X, z
12SpeechEnhancementTechniques 509. X: V) J# p y, W1 e! \
12.1IntroductiontoNoiseReductionTechniques509
+ z1 q! _. w* }12.2SpectralSubtractionTechniques510
8 D, b4 G {& v; {5 a; A12.2.1Short-TimeSpectrumEstimation511' E; [/ O# b" A( W; l4 [' ~- [
12.2.2MagnitudeSubtraction5115 u+ W- B" r3 p- t- E: e6 t
12.3VoiceActivityDetection513$ j5 \1 W7 O* W. S8 Z8 ] @
12.4ImplementationConsiderations515
+ n( x5 n* v: ?12.4.1SpectralAveraging515
$ W( F( d$ Y2 U; X12.4.2Half-WaveRectification515- m! M* k0 q; L" e! U$ ~
12.4.3ResidualNoiseReduction516
+ g& `5 G% ~8 ^) o12.5CombinationofAcousticEchoCancelationwithNR516; B4 k8 I% y* a2 G4 H
12.6VoiceEnhancementandAutomaticLevelControl518
$ A! h" S1 h3 @1 L12.6.1VoiceEnhancementDevices518! x8 Y, z( b7 v
12.6.2AutomaticLevelControl519
2 U( B" Q. @# Y- _7 c2 V12.7ExperimentsandProgramExamples5196 b/ `( ?6 K* ?) a3 y( P' x+ ?; h
12.7.1VoiceActivityDetection519
- Y4 X5 O A( [* f/ `9 M C3 Z4 [12.7.2MATLABImplementationofNRAlgorithm522
' M# P3 O1 K I* T) X$ W6 g; E' t12.7.3Floating-PointCImplementationofNR522
* B. o! }, N, h9 }) G12.7.4MixedC55xAssemblyandIntrinsicsImplementationsofVAD5226 ]9 F; F/ O% u" l; H
12.7.5CombiningAECwithNR526, b- [/ u" j2 u9 m4 l* Q8 Y
References 529
5 E2 r" Z7 ~% S, H s+ `* o0 |1 AExercises 529CONTENTS xiii3 ^: M y9 L* ?8 q9 C
13AudioSignalProcessing 531
+ G1 w: f: y# A3 j8 K7 s) }- u' ~13.1Introduction531
- w4 ? \# S0 E8 x* Q13.2BasicPrinciplesofAudioCoding531
~) ?. }. B( }9 Y8 U: X13.2.1Auditory-MaskingEffectsforPerceptualCoding533
2 x: |) _" b1 a13.2.2Frequency-DomainCoding536! F; M e! ^, b2 g4 [" B6 S
13.2.3LosslessAudioCoding5381 ^! V. s7 n G' L
13.3MultichannelAudioCoding539$ ]% r, X2 h( S' L2 H1 S+ Z
13.3.1MP35401 Y* u e, k8 V2 H/ b2 P
13.3.2DolbyAC-3541* d% w2 H E. N8 _/ a
13.3.3MPEG-2AAC542
$ o4 C* f& {1 G. e2 P# F" I4 L3 u) n; g13.4ConnectivityProcessing5440 T D( {1 W# N% [
13.5ExperimentsandProgramExamples5442 F* [" f! p; x6 U" q
13.5.1Floating-PointImplementationofMDCT544- ^: T0 `& p/ q |* j& H
13.5.2ImplementationofMDCTUsingC55xIntrinsics547
+ s/ H& u0 e. s; C, C1 i13.5.3ExperimentsofPreechoEffects549$ G( b+ w" {8 v! j3 L! n1 z: n
13.5.4Floating-PointCImplementationofMP3Decoding549
4 P/ z: P/ M( P* O8 vReferences 553
( c# b7 A0 t- k& _% j( r wExercises 553: R) _( f4 G6 ?% @7 t
14ChannelCodingTechniques 555
" [& W. Y5 m; U/ v! N# L, u14.1Introduction555; ^8 T, r/ a# u+ u/ n- H
14.2BlockCodes5561 j/ g4 U K4 |" G3 z
14.2.1Reed–SolomonCodes558' B! \7 q. @( h) ]. e/ m
14.2.2ApplicationsofReed–SolomonCodes562; R# `" z" p! V- G# p. S
14.2.3CyclicRedundantCodes563
3 N6 Z& e; ]8 f- ]* g# X0 ^14.3ConvolutionalCodes564) S% b' J r3 m( J$ ?
14.3.1ConvolutionalEncoding564
0 j7 r* L2 t) F7 X! \7 @14.3.2ViterbiDecoding564
( d7 B0 [% T+ [% [: t; N9 a4 r14.3.3ApplicationsofViterbiDecoding566( g) m" }) d0 S! |
14.4ExperimentsandProgramExamples5698 b& p' G% X0 }
14.4.1Reed–SolomonCodingUsingMATALB569
; X" Y3 h/ j7 @9 P' o: g) Q14.4.2Reed–SolomonCodingUsingSimulink570
3 n! }5 D" E" T: X14.4.3VerificationofRS(255,239)GenerationPolynomial571/ m/ @6 Y e: z1 M$ |7 {1 |+ a$ Y
14.4.4ConvolutionalCodes572& e) k. t# P: k8 N7 f% Y5 ]% Z2 o
14.4.5ImplementationofConvolutionalCodesUsingC573
- _+ G4 r( A w' G4 X$ h/ w X14.4.6ImplementationofCRC-32575
]9 ?6 q" |$ F3 y9 HReferences 576$ {8 H. u& U$ W& w: p
Exercises 577
6 a' y& T" G1 }# d7 ~$ y15IntroductiontoDigitalImageProcessing 579: A1 L2 V4 H: w0 B% m' P
15.1DigitalImagesandSystems579
, ^$ ^( k, r& N$ M5 a; Z15.1.1DigitalImages579
: ^8 }/ q8 U. N5 \15.1.2DigitalImageSystems5803 I$ f0 l9 m0 ^8 @. i
15.2RGBColorSpacesandColorFilterArrayInterpolation581
9 g" c6 D& E) \" [& G4 @15.3ColorSpaces584
7 i- _- s9 c+ H- C. u15.3.1YCbCr andYUVColorSpaces584, L2 C. y7 j- o% R- s7 a v
15.3.2CYMKColorSpace585xiv CONTENTS
4 r4 E, g& a( `9 q" B15.3.3YIQColorSpace585% @1 R& a7 ~/ x- D/ o
15.3.4HSVColorSpace5854 S( e+ _- \/ F& }, ] Y9 U
15.4YCbCr SubsampledColorSpaces586( N# p t t/ d5 J7 y
15.5ColorBalanceandCorrection586* {( J" Q; r5 O' G) \# l# @6 Y5 I3 P
15.5.1ColorBalance587
" A! ?( D% m4 ~% [9 y; ?" X15.5.2ColorAdjustment588( r$ P, i2 M$ U
15.5.3GammaCorrection589* b* f; e' r8 I" U5 l$ F
15.6ImageHistogram590
: B ?& R3 q# g; G- x15.7ImageFiltering591
) A6 B" x8 e( }6 {" B# }15.8ImageFilteringUsingFastConvolution596
$ ~' s! r0 o7 P9 t5 D15.9PracticalApplications597
2 r6 \( I% L) C/ i( w( D15.9.1JPEGStandard597! R5 ^: T- T4 w$ v
15.9.22-DDiscreteCosineTransform599
" k9 W2 n. t" c+ w15.10ExperimentsandProgramExamples601
0 u7 H! D: M. B% L15.10.1YCbCr toRGBConversion601& s; i1 `9 ~3 z) w3 F
15.10.2UsingCCSLinkwithDSKandSimulator604' u) c& J% o) X& t7 a3 \+ \
15.10.3WhiteBalance607, E4 C4 r9 `, C( f3 `
15.10.4GammaCorrectionandContrastAdjustment610( Y; C: X0 l+ }! y& B- s9 U5 \ `
15.10.5HistogramandHistogramEqualization611
# }* C, a9 q- s2 X15.10.62-DImageFiltering613
% C2 q; A1 p5 n3 Z15.10.7ImplementationofDCTandIDCT617
, D8 {0 R& Q( E15.10.8TMS320C55xImageAcceleratorforDCTandIDCT621. b$ T* X3 H3 {) C, y5 M
15.10.9TMS320C55xHardwareAcceleratorImage/VideoProcessingLibrary623
* W p. n! C# nReferences 625
/ x5 B$ k R0 H2 _$ M' A- a- RExercises 625 |
|