| The Datasheet Archive - 100 Million Datasheets from 7500 Manufacturers. |
STEREO APPLICATION USER'S GUIDE CS492X FAMILY Crystal Descri
Top Searches for this datasheetAN123 STEREO APPLICATION USER'S GUIDE CS492X FAMILY Crystal Description This document includes brief description hardware configuration depth descriptions application messaging protocol, application control modules, application configuration examples. main body this document covers commonly used features each stereo application. Additional application notes that cover proprietary Stereo processing such CircleSurroundTM, Logic 7TM, Pacific MicrosonicsHDCD® available appendix this application note approved licensees each corresponding technology. DIGITAL SOUND Original Surround Description Software Naming Convention Stereo Application Description Hardware Configurations Supported CS492X Application Code Understanding Application Messaging (Including Write Sessions, Solicited Unsolicited Read Message) Control Standard Application Modules such Audio Manager Generalized Bass Manager Control Crystal Original Surround Application Modules such Crystal Original Surround Effects Manager Crystal Original Surround Effects Processor Applications: COEFMAKR.EXE EFFECTS.EXE PROCESSING Autodetect Enable Effects Enable Stereo Multichannel Processing Discrete Channels Autodetect (PCM) CMPDAT/ Bass Manager Channels Channels Audio Manager Bass Parameter Output Mode Volume/Mute Channel Remap Delay P.O. 17847, Austin, Texas 78760 (512) 7222 FAX: (512) 7581 http://www.cirrus.com Copyright Cirrus Logic, Inc. 2000 (All Rights Reserved) AN123REV2 AN123 TABLE CONTENTS OVERVIEW Multichannel Decoder Family Parts Document Strategy 1.2.1 Hardware Documentation Using CS492X Software Naming Convention Stereo Application Description HARDWARE CONFIGURATION Supported Input/Output Modes APPLICATION MESSAGING Write Session Solicited Read Message Format Unsolicited Read Message Format APPLICATION MODULES Audio Manager 4.1.1 Audio_Control: (Index 0x00) Generalized Bass Manager Unsolicited Messages (Read-Only) 4.3.1 Autodetect Operation APPENDIX CRYSTAL ORIGINAL SURROUND (C.O.S.) EFFECTS CODE Crystal Original Surround Description Standard Application Modules Crystal Original Surround Effects Manager 5.3.1 Effects_Mgr_Control Crystal Original Surround Effects Processor 5.4.1 PCM_Control 5.4.2 Basic Crystal Surround Effects Explanation 5.4.3 Creating Custom Effects Using Advanced Settings 5.4.3.1 Section: Early Reflections 5.4.3.2 Comb Filter Section: After-reflections 5.4.3.3 All-Pass Filter Section: More After-reflections Decorrelation 5.4.4 Crystal Original Surround Effects Modes Contacting Cirrus Logic Support complete listing Direct Sales, Distributor, Sales Representative contacts, visit Cirrus Logic site CircleSurround trademark Labs, Inc. Logic trademark Harman International Corporation. HDCD logo, HDCD, High Definition Compatible Digital Pacific Microsonics either registered trademarks trademarks Pacific Microsonics, Inc. United States and/or other countries. HDCD technology provided under license from Pacific Microsonics, Inc. This product's design (and/or software) covered more following United States: 5,479,168; 5,638,074; 5,640,161; 5,808,574; 5,838,274; 5,854,600; 5,864,311; Australia: 669114; with other patents pending. "Crystal Original Surround Logo" trademark "Crystal Logo" "Crystal Digital Sound Processing Logo" registered trademarks Cirrus Logic, Inc. Preliminary product information describes products which production, which full characterization data available. Advance product information describes products which development subject development changes. Cirrus Logic, Inc. made best efforts ensure that information contained this document accurate reliable. However, information subject change without notice provided without warranty kind (express implied). responsibility assumed Cirrus Logic, Inc. this information, infringements patents other rights third parties. This document property Cirrus Logic, Inc. implies license under patents, copyrights, trademarks, trade secrets. part this publication copied, reproduced, stored retrieval system, transmitted, form means (electronic, mechanical, photographic, otherwise) without prior written consent Cirrus Logic, Inc. Items from Cirrus Logic website disk printed user. However, part printout electronic files copied, reproduced, stored retrieval system, transmitted, form means (electronic, mechanical, photographic, otherwise) without prior written consent Cirrus Logic, Inc.Furthermore, part this publication used basis manufacture sale items without prior written consent Cirrus Logic, Inc. names products Cirrus Logic, Inc. other vendors suppliers appearing this document trademarks service marks their respective owners which registered some jurisdictions. list Cirrus Logic, Inc. trademarks service marks found http://www.cirrus.com. AN123REV2 AN123 5.4.5 Reverberative Effects 5.4.5.1 Passthru 5.4.5.2 Mono 5.4.5.3 Classical 5.4.5.4 Panorama 5.4.5.5 Movie 5.4.5.6 Music 5.4.6 Reverberative Effects 5.4.6.1 t1r1a1i1.cfg Room 5.4.6.2 t2r3a1i2.cfg Room 5.4.6.3 t1r1a2i1.cfg Theater 5.4.6.4 t2r3a2i2.cfg Theater 5.4.6.5 t1r1a3i1.cfg Hall 5.4.6.6 t2r3a3i2.cfg Hall 5.4.6.7 t2r3a4i2.cfg Stadium 5.4.7 Effects Configuration Files COEFMAKR.EXE EFFECTS.EXE LIST FIGURES Figure Generic Stereo Processing Block Diagram Figure Filter Topology Figure Bass Manager Processing Unit Figure Subwoofer Summing Module Figure Generic Autodetection Flow Chart Figure Typical Download Configuration Figure Crystal Original Surround (C.O.S.) Block Diagram Figure Illustrated Basic Reverb Theory Figure Detailed Block Diagram C.O.S. Effects Code Figure Block Diagram C.O.S. Output Channel Mixer Figure Detailed Block Diagram C.O.S. Reverberator Module LIST TABLES Table Input/Output Configurations Supported Processing Table Write Message Format. Table Read Command Message Format Table Read Response Message Format Table Unsolicited Read Message Format Table Audio Manager. Table Bass Manager Table Unsolicited Messages Table Crystal Original Surround Effects Manager. Table Crystal Original Surround Effects Processor. AN123REV2 AN123 OVERVIEW CS4923/4/5/6/7/8/9 (CS492X) family system chip solutions Multichannel audio decompression digital signal processing. Since part RAM-based, download application software required each time CS492X powered These parts generally targeted different market segments. broadcast market where audio/video (A/V) synchronization required, outboard decoder markets where audio/video synchronization required. important differentiation format which data will received CS492X. systems where synchronization required from CS492X, incoming data typically encoded. outboard decoder application data typically comes IEC61937 format specified consortium). important point remember that CS492X will support both environments, different downloads required depending input data type. Broadcast applications include (but limited applications, DVDs digital TVs. Outboard decoder applications include stand-alone decoders audio/video receivers. Often times system hybrid between outboard decoder broadcast system depending functionality. This users guide covers code that provides Stereo Processing. processing codes, including C.O.S., CircleSurround, HDCD, Logic CS492X Family. also used support stereo channel effects processing stereo MPEG decoding. CS4924 Dolby DigitalSource Product Decoder CS4924 stereo version CS4923 designed source products such DVD, HDTV, boxes. CS4925 International Multichannel Audio Decoder CS4925 supports both Dolby Digital MPEG-2 Multichannel formats. both Dolby Digital MPEG-2 Multichannel, post processing includes bass management Dolby Logic decoding. Dolby Digital code MPEG code take separate code downloads. Another code load used support stereo channel effects processing. CS4926 DTS/Dolby® Multichannel Audio Decoder CS4926 supports both Dolby Digital DTS, Digital Theater Surround. Dolby Digital, post processing includes bass management Dolby Logic. Dolby Digital code code take separate code downloads. Separate downloads also used support stereo channel effects processing stereo MPEG decoding. CS4927 MPEG-2 Multichannel Decoder CS4927 supports MPEG-2 Multichannel decoding should used applications where Dolby Digital decoding necessary. MPEG-2 Multichannel decoding, post processing includes bass management Dolby Logic decoding. Another code load used support stereo channel effects processing. Multichannel Decoder Family Parts CS4923 Dolby DigitalAudio Decoder CS4923 original member family intended used only Dolby Digital decoding required. Dolby Digital, post processing includes bass management, delays Dolby Logic decoding. Separate downloads CS4928 Multichannel Decoder CS4928 supports Multichannel decoding should used applications where Dolby Digital decoding necessary. AN123REV2 AN123 Multichannel decoding, post processing includes bass management. Separate downloads also used support stereo channel effects processing stereo MPEG decoding. CS492X Application Code User's Guides following application notes describe application codes used with CS492X. Whenever application code user's guide referred should assumed that more below documents being referenced. following list covers currently released application notes. This list will grow with each application released. current list released user's guides please www.crystal.com search part number. CS4929 2-Channel, (Low Complexity) MPEG-2 Stereo Decoder CS4929 capable decoding both 2-channel (ADTS format) MPEG-2 audio. CS4929 supports both elementary formats. Document Strategy Multiple documents needed fully define, understand implement functionality CS492X. They split into basic groups: hardware application code documentation. should noted that hardware application code co-dependent successfully part without understanding both. `ANXXX' notation denotes application note number under which respective user's guide released. AN120 Dolby Digital User's Guide CS4923/4/5/6 This document covers features available Dolby Digital code including delays, pink noise, bass management, Logic, pass through Dolby Digital processing features. Optional appendices available that document code Virtual Dolby DigitalTM, VMAxTM. AN121 MPEG User's Guide CS4925 This document covers features available MPEG Multichannel code including delays, bass management, Logic, MPEG processing features. 1.2.1 Hardware Documentation CS4923/4/5/6/7/8/9 Family Data Sheet This document describes electrical characteristics device from timing base functionality. This hardware designers tool learn part's electrical systems requirements. AN122 DTSUser's Guide CS4926, CS4928 This document covers features available code including bass management processing features. AN115 CS4923/4/5/6/7/8/9 Hardware User's Guide describes functional aspects device. depth description communication, boot procedure, external memory hardware configuration given this document. This document will valuable both hardware designer system programmer. AN123 Surround User's Guide CS492X This code covers different Stereo surround effects processing code. Additional appendices available that document CircleSurroundTM, Logic 7TM, Pacific MicrosonicsHDCD®. AN123REV2 AN123 AN140 Broadcast Systems Guide CS492X This guide describes application code (e.g. Dolby Digital MPEG) designed broadcast systems such HDTV set-top receivers. This document also provides discussion broadcast system considerations dependencies. Software Naming Convention keep with different applications, parts, hardware revisions software revisions following naming convention been adopted CS492X software: AAAACCRV.LD where: AAAA three four letter Application description (e.g. AC3_) Chip suffix hardware (e.g. CS4923 CC=23) specification actual version release particular code Using CS492X matter what application being used chip, following four steps always followed CS492X system. Reset and/or Download Code Detailed information found AN115. Hardware Configuration Detailed information found AN115. Application configuration Detailed information found appropriate Application Code User's Guide. Kickstart This "Go" command CS492X once system properly configured. Detailed information found appropriate Application Code User's Guide. Stereo Application Description Each application that accepts Stereo input described detail corresponding appendix. However, these applications share same general structure. Figure functional block diagram this general structure. gives idea interaction between various modules application. Autodetect Enable Effects Enable Stereo Multichannel Processing Channels Discrete Channels Bass Manager Audio Manager Channels Autodetect (PCM) CMPDAT/ Bass Parameter Output Mode Volume/Mute Channel Remap Delay Figure Generic Stereo Processing Block Diagram AN123REV2 AN123 HARDWARE CONFIGURATION After download soft reset, before kickstarting application (please "Audio Manager" more information kickstarting), host option changing default hardware configuration. Address checking serial communication data type format digital data input output changed through hardware configuration settings. entire hardware configuration only changed immediately after download soft reset. Software Application User's Guide specifies exact input/output modes supported application. Referring AN115, following input/output modes supported Processing application (C.O.S., Logic Circle Surround, HDCD). Configuration INPUTA INPUTB INPUTC OUTPUTA OUTPUTB OUTPUTC OUTPUTD OUTPUTE Description Input Data Type Input Data Format Input SCLK/Data Edge Output Master/Slave Clock Setup Output Data Format Output MCLK Rate Output SCLK Rate Output SCLK/Data Edge Supported Modes 0,1,2 0,1,2,3 0,1,2,3 0,1,2 Supported Input/Output Modes CS492X input ports output port. AN115 describes digital audio formats supported ports gives description ports themselves. capabilities each port presented AN115 although configurations supported applications. Each Table Input/Output Configurations Supported Processing AN123REV2 AN123 APPLICATION MESSAGING While using CS492X necessary control monitor application take full advantage rich feature employed CS492X software. Application messaging allows user this. Whether configuring part software mode, e.g. change from AC-3 decode pass through, changing run-time parameters, e.g. controlling digital volume, host will application messaging communicate with CS492X. CS492X strict software protocol which must used conjunction with hardware protocol discussed AN115, CS492X Hardware User's Guide. This section will cover both format messages while "Application Modules" will cover different configuration modules available with CS492X. must stressed that, write read transactions with CS492X, host must strictly adhere hardware software protocols insure successful communication. Write Session write session with CS492X consists byte message from host CS492X. write message consists command word followed associated data word. Table shows format Write Message. Write Command Word: OPCODE[7:0] Write Data Word: INDEX[15:0] DATA[23:0] Table Write Message Format fields should specified follows: OPCODE[7:0] byte) field containing opcode targeted application module. This field will choose which module written. INDEX[15:0] byte) field containing index desired variable module chosen OPCODE. This field will choose actual variable altered. DATA[23:0] byte) data word written into variable specified INDEX module specified OPCODE. AN123REV2 AN123 Solicited Read Message Format solicited read session consists 3-byte Read Request message from host CS492X, followed byte Read Response message from CS4932X host. read request message simply consists Read Command word whose format shown Table After host sends read command word should wait INTREQ line fall. AN115 more hardware communication with CS492X. After INTREQ falls host should read 6-byte Read Response message which consists byte Read Response Command word followed requested data word. format Read Response message shown Table Read Command Word: OPCODE[7:0] INDEX[15:0] Table Read Command Message Format fields should specified follows: OPCODE[7:0] byte) field containing opcode targeted application module. This field will choose which module read from. INDEX[15:0] byte) field containing index desired variable module chosen OPCODE. This field will choose actual variable read. Read Response Command Word: OPCODE[7:0] Read Response Data Word INDEX[15:0] DATA[23:0] Table Read Response Message Format fields specified follows: OPCODE[7:0] byte) field containing Read Response opcode targeted application module. This field will show which module read. INDEX[15:0] byte) field containing index desired variable module chosen OPCODE. This field will show actual variable that read. DATA[23:0] byte) data word that read from variable specified INDEX module specified OPCODE. AN123REV2 AN123 Unsolicited Read Message Format Unsolicited messages will typically used systems where INTREQ generate interrupts. These messages will come from CS492X indicate change system that must addressed. example when part autodetect mode detects stream. unsolicited read message will sent CS492X indicate stream type. 6-byte unsolicited read messages from CS492X consist 3-byte read command word which defines type unsolicited message described "Unsolicited Messages (Read-Only)") 3-byte associated data word that contains more information describing system condition. Every time existence message detected sensing that INTREQ gone LOW), host should read 6-byte read unsolicited message. Table shows format Unsolicited Read Message. Unsolicited Read Command Word: OPCODE[7:0] Unsolicited Read Data Word: INDEX[15:0] DATA[23:0] Table Unsolicited Read Message Format fields should specified follows: OPCODE[7:0] byte) field containing opcode unsolicited read message INDEX[15:0] byte) field containing index variable module designated OPCODE. DATA[23:0] byte) data word that corresponds variable specified INDEX module specified OPCODE. AN123REV2 AN123 APPLICATION MODULES block diagram cover page this document accurately portrays interaction between various generic application modules Processing code. following should noted about values application modules: Variables marked `Default*' will only initialized after download. These variables will retain their values after soft reset application restart. Variables marked `Default' will reinitialized values shown this application note after download, soft reset application restart. Only those values which presented valid which fall within specified range should written application module variables. value which falls outside stated range written variable, functionality application guaranteed erroneous output could result. bits that defined should considered reserved written with unless specified otherwise. variables such volume scaling factors, real number range 0.0-1.0 written 0x000000-0x7FFFFF. This range linear, i.e. volume, represented 0x1FFFFF equivalent value 0.25. formula converting variable settings from hexadecimal number into follows: (variable setting/max value variable) e.g. (0x1FFFFF/0x7FFFFF) Numbers preceded should interpreted hex, numbers followed should interpreted binary. values sent CS492X should converted hexadecimal. Likewise values read from part hexadecimal. AN123REV2 AN123 Audio Manager Write Opcode 0x88; Read Opcode 0x09; Read Response Opcode 0x89 Write Message 0x8800HH 0xhhhhhh Read Request Message 0x0900HH; Read Response Message 0x8900HH 0xhhhhhh 0xHH index, 0xhhhhhh data value Index 0x00 Variable AUDIO_MGR_CONTROL Dataword Content 0/1= Disable/Enable bypassing autodetection start-up, i.e. first time after download/reset. (Valid only with Autodetect_Enable==1). Note: enabled, during readback this reserved read Autodetect_Enable 0/1= Disable/Enable autodetect functionality. PLL_Enable Disable/Enable Phase Locked Loop generation clock. mandatory that enabled CS492X. Kickstart_Enable Disable/Enable Kickstart application. Default 0x000000 0x800001-0x7FFFFF (-1.0 1.0). Default* 0x7FFFFF 0x800001-0x7FFFFF (-1.0 1.0). Default* 0x7FFFFF 0x800001-0x7FFFFF (-1.0 1.0). Default* 0x7FFFFF 0x800001-0x7FFFFF (-1.0 1.0). Default* 0x7FFFFF 0x800001-0x7FFFFF (-1.0 1.0). Default* 0x7FFFFF 0x800001-0x7FFFFF (-1.0 1.0). Default* 0x7FFFFF 0x800001-0x7FFFFF (-1.0 1.0). Default* 0x7FFFFF Unmute/mute audio. This soft mute. Default Channel typea Digital Audio Output Each channel must mapped only unique output. Default* 0(L) Channel typea Digital Audio Output Each channel must mapped only unique output. Default* 2(R) Channel typea Digital Audio Output Each channel must mapped only unique output. Default* 3(Ls) Channel typea Digital Audio Output Each channel must mapped only unique output. Default* 4(Rs) Channel typea Digital Audio Output Each channel must mapped only unique output. Default* 1(C) Channel typea Digital Audio Output Each channel must mapped only unique output. Default* 5(LFE) Table Audio Manager 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 MASTER_VOLUME L_VOLUME C_VOLUME R_VOLUME LS_VOLUME RS_VOLUME LFE_VOLUME MUTE DAO0_CHANNELA DAO1_CHANNELA DAO2_CHANNELA DAO3_CHANNELA DAO4_CHANNELA DAO5_CHANNELA AN123REV2 AN123 Index 0x16 Variable LAST_UNSOLICITED_ MESSAGE PLL_REGISTER_1 PLL_REGISTER_2 Dataword Content Last Unsolicited Message Value (see "Unsolicited Messages (Read-Only)") READ ONLY Default=0x000000 Register value Phase Locked Loop generation). 0x17 0x18 Default* 0x07f270 (CLKIN=12.288MHz, DSPCLK=60MHz) Register value Phase Locked Loop generation). Default* 0x0001fe (CLKIN=12.288MHz, DSPCLK=60MHz) Table Audio Manager (Continued) Notes: Mapping should setup before kickstart application should always complete one-to-one, i.e. each should mapped only Channel type. Channel type corresponds Channels respectively. AN123REV2 AN123 4.1.1 Audio_Control: (Index 0x00) Bit_15: Setting this HIGH will cause CS492X generate interrupts when change specific stream definition variable occurs. Stream definition variables embedded compressed bitstream. Note: host must wait least 20ms before attempting read stream definition variables after receiving Unsolicited Message indicating that there been change variables. Variable values read from before this time passed valid. state autodetect should modified during run-time. Disables Startup_Autodetect_Bypass Enables Startup_Autodetect_Bypass unsolicited message generated CS492X processing successful. However, data format subsequently found wrong type, autodetect messaging will generated CS492X usual. above Startup_Autodetect_Bypass mode useful saving autodetect latency when controller already knows that current input data format decodable downloaded application. controller usually aware this autodetection message from previous (most recent) downloaded application. Note: this mode enabled, readback value reserved (either received should ignored). AC-3 code acmod, lfeon, dsurmod, dialnorm timecod2 variables change incoming stream, CS492X will issue unsolicited message. code amode, lff, pcmr variables change incoming stream, CS492X will issue unsolicited message. code mode variable changes incoming stream, CS492X will issue unsolicited messsage. MPEG code mode, center, surround, variables change incoming stream, CS492X will issue unsolicited messsage. code channel_configuration variable changes incoming stream, CS492X will issue unsolicited message. Disables Enables Autodetect_Enable Puts CS492X into autodetect mode (see "Unsolicited Messages (Read-Only)") This should only changed after download, soft reset, Application Restart. state autodetect should modified during run-time. Disables Autodetect Enables Autodetect PLL_Enable Enables Phase Locked Loop (PLL) generate internal DSPCLK from desired external CLKIN. Disables Enables register values PLL_Register_1 (0x17) PLL_Register_2 (0x18) define desired clock reference CLKIN used. default values download setup DSPCLK from 12.288 external CLKIN. CLKIN 11.2896 MHz, PLL_Register_1=0x24BC34 PLL_Register_2 0x0001fe should used. These AN123REV2 Maintains CS492X autodetect mode, bypasses autodetection (directly enters input data processing) start-up, i.e. first time after download/reset. This should only changed after download, soft reset, Application Restart. AN123 register values should downloaded prior Kickstart with PLL_Enable. Kickstart Enable Puts CS492X into run-time mode. Indicates that hardware software configuration been completed CS492X start application. Application continues waiting kickstart. Application kickstarted AN123REV2 AN123 Generalized Bass Manager Write Opcode 0x94; Read Opcode 0x15; Read Response Opcode 0x95 Write 0x9400HH 0xhhhhhh Read Request 0x1500HH; Read Response 0x9500HH 0xhhhhhh 0xHH index, 0xhhhhhh data value Index 0x00 Variable BASS_MGR_CONTROL Dataword Content LFE_Only_Sub Disable/Enable Only subwoofer. 4th_Order_LPF Disable/Enable order output summer. must addition enable order LPF. Disable/Enable output summer. HPF_L Disable/Enable channel HPF. HPF_C Disable/Enable channel HPF. HPF_R Disable/Enable channel HPF. HPF_Ls Disable/Enable channel HPF. HPF_Rs Disable/Enable channel HPF. Bass_Mgr Disable/Enable Bass Manager post-processing. Default 0x000000 0x01 0x02 INPUT_L_LEVEL INPUT_C_LEVEL 0x000000-0x7FFFFF Level adjustment input channel pass-through. Default* 0x7FFFFF 0x000000-0x7FFFFF Level adjustment input channel input passthrough. 0x03 INPUT_R_LEVEL Default* 0x7FFFFF 0x000000-0x7FFFFF Level adjustment input channel input passthrough. Default* 0x7FFFFF 0x000000-0x7FFFFF Level adjustment input channel pass-through. Default* 0x7FFFFF 0x000000-0x7FFFFF Level adjustment input channel passthrough. Default* 0x7FFFFF 0x000000-0x7FFFFF Level adjustment input channel passthrough. Default* 0x7FFFFF 0x000000-0x7FFFFF Level adjustment bass summer output contribution channel output. 0x04 0x05 INPUT_LS_LEVEL INPUT_RS_LEVEL 0x06 INPUT_LFE_LEVEL 0x07 SUM_OUTPUT_L_LEVEL Default* 0x000000 Table Bass Manager AN123REV2 AN123 Index 0x08 Variable SUM_OUTPUT_C_LEVEL Dataword Content 0x000000-0x7FFFFF Level adjustment bass summer output contribution channel output. Default* 0x000000 0x09 SUM_OUTPUT_R_LEVEL 0x000000-0x7FFFFF Level adjustment bass summer output contribution channel output. Default* 0x000000 0x0a SUM_OUTPUT_LS_LEVEL 0x000000-0x7FFFFF Level adjustment bass summer output contribution channel output. Default* 0x000000 0x0b SUM_OUTPUT_RS_LEVEL 0x000000-0x7FFFFF Level adjustment bass summer output contribution channel output. Default* 0x000000 0x0c LFE_L_LEVEL 0x000000-0x7FFFFF Level adjustment input contribution channel output. Default* 0x000000 0x0d LFE_C_LEVEL 0x000000-0x7FFFFF Level adjustment input contribution channel output. Default* 0x000000 0x0e LFE_R_LEVEL 0x000000-0x7FFFFF Level adjustment input contribution channel output. Default* 0x000000 0x0f LFE_LS_LEVEL 0x000000-0x7FFFFF Level adjustment input contribution channel output. Default* 0x000000 0x10 LFE_RS_LEVEL 0x000000-0x7FFFFF Level adjustment input contribution channel output. Default* 0x000000 0x11 SUM_INPUT_L_LEVEL 0x000000-0x7FFFFF Level adjustment input channel contribution bass summer input. 0x12 SUM_INPUT_C_LEVEL Default* 0x16C311 (-15 0x000000-0x7FFFFF Level adjustment input channel contribution bass summer input. Default* 0x16C311 (-15 0x000000-0x7FFFFF Level adjustment input channel contribution bass summer input. 0x13 SUM_INPUT_R_LEVEL 0x14 SUM_INPUT_LS_LEVEL Default* 0x16C311 (-15 0x000000-0x7FFFFF Level adjustment input channel contribution bass summer input. Default* 0x16C311 (-15 Table Bass Manager (Continued) AN123REV2 AN123 Index 0x15 Variable SUM_INPUT_RS_LEVEL Dataword Content 0x000000-0x7FFFFF Level adjustment input channel contribution bass summer input. 0x16 SUM_INPUT_LFE_LEVEL Default* 0x16C311 (-15 0x000000-0x7FFFFF Level adjustment input channel contribution bass summer. Default* 0x47FACD 0x000000-0x7FFFFF coefficient Pass Filter, Fs=48 KHz. 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 LPF_48_B0 LPF_48_B1 LPF_48_A1 HPF_48_B0 HPF_48_B1 HPF_48_A1 LPF_44_B0 LPF_44_B1 LPF_44_A1 HPF_44_B0 HPF_44_B1 HPF_44_A1 LPF_32_B0 LPF_32_B1 LPF_32_A1 Default* 0x014D4C 0x000000-0x7FFFFF coefficient Pass Filter, Fs=48 KHz. Default* 0x014D4C 0x000000-0x7FFFFF coefficient Pass Filter, Fs=48 KHz. Default* 0x7D6567 0x000000-0x7FFFFF coefficient High Pass Filter, Fs=48 KHz. Default* 0x7F7750 0x000000-0x7FFFFF coefficient High Pass Filter, Fs=48 KHz. Default* 0x8088B0 0x000000-0x7FFFFF coefficient High Pass Filter, Fs=48 KHz. Default* 0x7EEEA0 0x000000-0x7FFFFF coefficient Pass Filter, Fs=44 KHz. Default* 0x016A73 0x000000-0x7FFFFF coefficient Pass Filter, Fs=44 KHz. Default* 0x016A73 0x000000-0x7FFFFF coefficient Pass Filter, Fs=44 KHz. Default* 0x7D2B19 0x000000-0x7FFFFF coefficient High Pass Filter, Fs=44 KHz. Default* 0x7F6B48 0x000000-0x7FFFFF coefficient High Pass Filter, Fs=44 KHz. Default* 0x8094B8 0x000000-0x7FFFFF coefficient High Pass Filter, Fs=44 KHz. Default* 0x7ED68F 0x000000-0x7FFFFF coefficient Pass Filter, Fs=32 KHz. Default* 0x01F171 0x000000-0x7FFFFF coefficient Pass Filter, Fs=32 KHz. Default* 0x01F171 0x000000-0x7FFFFF coefficient Pass Filter, Fs=32 KHz. Default* 0x7C1D1F Table Bass Manager (Continued) AN123REV2 AN123 Index 0x26 0x27 0x28 Variable HPF_32_B0 HPF_32_B1 HPF_32_A1 Dataword Content 0x000000-0x7FFFFF coefficient High Pass Filter, Fs=32 KHz. Default* 0x7F3365 0x000000-0x7FFFFF coefficient High Pass Filter, Fs=32 KHz. Default* 0x80CC9B 0x000000-0x7FFFFF coefficient High Pass Filter, Fs=32 KHz. Default* 0x7E66CA Table Bass Manager (Continued) AN123REV2 AN123 Bass Manager best described with block diagram. Figure shows topology filter used both pass high pass filters. This filter represents first order filters cascaded implement second order filter. order filters figure implemented back back. Depending coefficient values, either second order pass second order high pass implemented. default frequency this filter 100Hz. corner frequency changed downloading values coefficients Note that since first order filters cascaded obtain second order filter, corner frequency design first order prototype adjusted obtain desired overall frequency when such first order filters cascaded. effect, first order filter should designed yield 1.5dB desired overall corner frequency. Figure shows processing unit each output channels (except LFE) Figure shows summing module used redirect bass subwoofer channel AN120 examples many typical bass management configurations. Figure Filter Topology Input_X_Level Input Channel Output Channel HPF_X_Enable Sum_Output_X_Level LFE_X_Level Summing Module Summing Module Figure Bass Manager Processing Unit AN123REV2 AN123 Sum_Input_X_Level Subwoofer Input_LFE_Level LFE_Only_Sub_Enable Processing Unit LPF_Enable Figure Subwoofer Summing Module AN123REV2 AN123 Unsolicited Messages (Read-Only) Write Message. Read Request. Unsolicited Read Response 0x8700HH 0xhhhhhh 0xHH index, 0xhhhhhh data value Index 0x00 Variable AUTODETECT_ RESPONSE Dataword Content Decodable_Stream_Flag= This stream not/is decodable application need download Bits 22:6 Reserved. Non_IEC61937_Stream_Flag= This stream not/is IEC61937 compressed data. Non_IEC61937_Stream_Flag=1 Bits Non_IEC61937 Stream Descriptor. 0x00 Silent Input Data (Out Application Sync). 0x01 Format-16 elementary stream. 0x02 Format-14 elementary stream. 0x03 Linear stream. 0x04 HDCD stream (only available HDCD application). 0x05-0x1F Reserved. Non_IEC61937_Stream_Flag=0 Bits IEC61937 Stream Descriptor Identical bits [4:0] burst datatype descriptor IEC61937 specification. Description data-type field reproduced below from IEC61937 specification (current 11/97): 0x00 Never Reported. (Null data ignored CS492X). 0x01 AC-3 data. 0x02 Reserved. 0x03 Never Reported. (Pause ignored CS492X). 0x04 MPEG-1 Layer data. 0x05 MPEG-1 Layer data MPEG-2 without extension. 0x06 MPEG-2 data with extension. 0x07 Reserved. 0x08 MPEG-2 Layer sampling frequency. 0x09 MPEG-2 Layer sampling frequency. 0x0A Reserved. 0x0B DTS-1 data (512-sample bursts). 0x0C DTS-2 data (1024-sample bursts). 0x0D DTS-3 data (2048-sample bursts). 0x0E 0x1B Reserved. 0x1C MPEG-2 ADTS data. 0x1D 0x1F Reserved. Bits 23:0 Reserved. Please Section 4.1.1. more information. Bits 22:0 Reserved. Table Unsolicited Messages 0x03 AUDIO_ CONFIGURATION_ CHANGE PLL_OUT_OF_LOCK 0x10 AN123REV2 AN123 4.3.1 Autodetect Operation sequence events involving autodetection described below from host's perspective. This general example CS492X, when using MPEG code code application restart available thus should used. Host downloads CS492X with tentative application code, this example will AC3_2***.LD. Host then configures CS492X hardware appropriately sets application parameters desired including enable desired application. this example will code configured AC-3 decode. Host then kickstarts CS492X with Autodetect enabled (see Section Audio Manager details). autodetect module application CS492X maximum pause data determines input bitstream. enabled analyzes input non-silent/nonthe content CS492X (along with correct hardware configuration application configuration with autodetect enabled). Subsequently, will detected within successfully played code, after sending corresponding unsolicited message (0x870000 0x800021). Note: This example assumes CS4926 CS4928 being used since only play DTS. case being detected CS4923/4/5/7/9 MPEG detected CS4923/4/6/8/9, host should display appropriate user message front panel stating that detected stream (DTS/MPEG) cannot played this receiver. enabled application play detected input (i.e. AC-3 detected this case), then CS492X issues Unsolicited Message host indicating datatype with Decodable_Bitstream_Flag=1. example AC-3 stream, message would 0x870000 0x800001. CS492X then goes ahead processes according application parameters setup Step above. enabled application cannot play detected input (say Non-IEC61937 detected), then CS492X soft mutes outputs, issues Unsolicited Message host indicating datatype with Decodable_Bitstream_Flag=0. example, message would 0x870000 0x000021. receiving this message, host repeats Steps onwards this time downloads code AN123REV2 After above steps while CS492X successfully playing input bitstream (still AC-3 example), host receives external information that input been changed (e.g. user selects source using front panel buttons), then before switching input data CS492X, host should send Application Restart message (see "Audio Manager") Soft Reset. application restart used, this effectively puts CS492X Step without changing output hardware configuration (i.e. output clocks interrupted). input configuration would need changed different than default. Soft Reset issued then entire hardware configuration needs resent. host should then repeat Steps 5a/b described above after delivering input stream CS492X. input content detected unchanged (still example), CS492X responds continues processing Step This situation will happen stream selected user also AC-3. input content detected different (non-AC-3 example), CS492X AN123 responds Step continues monitoring input stream change content. During run-time, while successfully playing input bitstream, CS492X also simultaneously monitors input. Note that CS492X only active input. `input' defined receiving data which application configured (e.g. application configured PCM, receiving data input. application configured compressed data, receiving compressed data input). soon CS492X detects change bitstream longer AC-3, original example), then CS492X automatically reverts Step i.e. analyzes input determine content. This automatic version Step above, intended only cover cases where host aware possible upstream content changes. Whenever possible, host should convey information about possible change input Step input content detected different (non-AC-3 example), CS492X reverts Step compressed data streams code will also report Unsolicited Message 0x870000 0x800020 indicate out-of-sync condition when decoder loses sync with incoming stream silent input data. This informative message action needed host. input content detected unchanged (still AC-3 example), CS492X continues processing like Step without requiring further action from host. This situation could arise pause track change upstream source, like from player. case compressed data being played currently (like AC-3 example), host could out-of-sync Unsolicited Message followed Unsolicited Message indicating AC-3 data. presence out-of-sync messages `special' functions like pause track change completely dependent upon audio source (such player). case application that currently active, silence less than (default 48000 samples, i.e. Second KHz) before transitioning PCM, CS492X continues process input data change occurred. However, during processing, silence more than PCM_Autodetect_ Silence_Threshold, CS492X jumps Silent Input Data state, output muted (transparent silent input anyway). Transition this Silent Input Data state reported Unsolicited Message (0x870000 0x800020). This message informative only, action should taken host. CS492X effectively Step above now, waiting autodetect input once non-silent data appears. Once input data successfully detected, corresponding Unsolicited Message issued host process continues above. Please Figure overview previously described flow. AN123REV2 AN123 Perform Kickstart with Autodetect Time (Autodetect Enabled) INTREQ goes User Reads Unsolicited Response Last Input Current Input Current Input Silence Host Does Nothing Last Input Compressed Bitstream Current Input Different Compressed Bitstream Host Loads Corresponding AC-3, MPEG Code, Configures Hardware Performs Kickstart with Autodetect Bypass Last Input Bitstream Current Input Compressed Bitstream Host Loads Corresponding AC-3, MPEG Code, Configures Hardware Performs Kickstart Note Last Input Compressed Bitstream Current Input Bitstream Host Loads Corresponding Code, Configures Hardware Performs Kickstart Note Figure Generic Autodetection Flow Chart Notes: Host need load AC-3 code AC-3 already loaded passing-through PCM. Host need only perform Soft Reset, Configure Hardware perform Kickstart perform Application Restart, Configure Inputs, perform Kickstart. Host need reload AC-3 code AC-3 already loaded, will pass-through PCM. Host need only perform Soft Reset, Configure Hardware perform Kickstart perform Application Restart, Configure Inputs, perform Kickstart. AN123REV2 AN123 summary following recommended procedure when using autodetect. Please Figure right overview previously described summary. Download code Soft Reset Application Restart) Hardware Configuration (for download Soft Reset) Input Configuration (for Application Restart) Application Configuration (including enable desired application) Kickstart with autodetection enabled. Configure Application (Audio Manager, etc.) Download Application Code (AC-3, PCM, DTS, MPEG, etc.) one/all follwing: Notes Download Successful Configure Hardware Perform Kickstart with Autodetect Time (Autodetect Enabled) Figure Typical Download Configuration Notes: Check file version. Contact your most recent version. Check make sure file correct chip being used. AN123REV2 AN123 APPENDIX CRYSTAL ORIGINAL SURROUND (C.O.S.) EFFECTS CODE Crystal Original Surround Description Crystal Original Surround Effects code developed provide stereo channel effects including delays, reverb room effects. This section covers software designed CS492X that provides Crystal Original Surround. This appendix covers code that named with AAAA EFF_, CC==XX (the code designed cross compatible across parts ROM) described "Software Naming Convention". assumed that reader familiar effects processing. not, good reference which many effects provided were derived from "About This Reverberation Business", James Moorer, Computer Music Journal 3(2): 13-28, 1979. Figure illustrates various features Crystal Original Surround modules their interaction with standard application modules available Stereo applications. Standard Application Modules standard features described "Application Modules" included this application with changes. Crystal Original Surround Effects Enable Channels (Ls, Autodetect Enable Test Impulse Enable Parameters Discrete Channels (Reverb Out) Enable Channels Audio Manager Channels Divider Autodetect (PCM) Test Impulse 3-Band Parametric Equalizer Stereo Multichannel Processing Channel Mixer Bass Manager CMPDAT/ Discrete Channels Channel (FIR Out) Discrete Channels Discrete Channels Channels LFE) Bass Parameter Output Mode Volume/Mute Channel Remap Delay Figure Crystal Original Surround (C.O.S.) Block Diagram AN123REV2 AN123 Crystal Original Surround Effects Manager Write Opcode 0x98; Read Opcode 0x19; Read Response Opcode 0x99 Write Message 0x9800HH 0xhhhhhh Read Request Message 0x1900HH; Read Response Message 0x9900HH 0xhhhhhh 0xHH index, 0xhhhhhh data value Index 0x00 Variable EFFECTS_MGR_CONTROL Dataword Content Test Impulse Enable Disable/Enable replacement input with periodic impulse signal (repeated every 24000 samples). Deemphasis_Enable Disable/Enable Deemphasis. Effects Enable Disable/Enable Surround Effects. Default 0x000000 0x01 0x02 0x03 0x04 0x05 0x06 0x07 L_MONO_MIXLEVEL R_MONO_MIXLEVEL DIRECT_FIR_MIXLEVEL LPF_FIR_MIXLEVEL RESERVED RESERVED RESERVED -1.0 1.0. Default -1.0 1.0. Default -1.0 1.0. Default -1.0 1.0. Default future use. future use. future use. 0.5615 Delay samples each taps. 0x08-0x27 T30, NOTE: Setting samples, will thus produce different delays different sampling frequencies. 0x28-0x47 C1,. 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 DIRECT_REVERB_MIXLEVEL FIR_REVERB_MIXLEVEL REVERB_TIME (COMB_G) REVERB_LIVENESS (COMB_H) L_L_OUT_MIXLEVEL R_L_OUT_MIXLEVEL L_C_OUT_MIXLEVEL R_C_OUT_MIXLEVEL L_R_OUT_MIXLEVEL R_R_OUT_MIXLEVEL L_LS_OUT_MIXLEVEL Default -1.0 Coefficients each taps. Default -1.0 1.0. Default 0.875 -1.0 1.0. Default 0.125 Reverberation time: unitless constant (minimum maximum 1.0). Default High-frequency attenuation reverberator: unitless constant. Default -1.0 1.0. Default -1.0 1.0. Default -1.0 1.0. Default -1.0 1.0. Default -1.0 1.0. Default -1.0 1.0. Default -1.0 1.0. Default Table Crystal Original Surround Effects Manager AN123REV2 AN123 Index 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a 0x5b 0x5c 0x5d 0x5e 0x5f 0x60 0x61 0x62 0x63 0x64 0x65 0x66 0x67 0x68 0x69 0x6a 0x6b 0x6c 0x6d 0x6e 0x6f 0x70 0x71 0x72 0x73 0x74 0x75 Variable R_LS_OUT_MIXLEVEL L_RS_OUT_MIXLEVEL R_RS_OUT_MIXLEVEL L_LFE_OUT_MIXLEVEL R_LFE_OUT_MIXLEVEL FIR_L_OUT_MIXLEVEL REVERB_L_OUT_MIXLEVEL FIR_C_OUT_MIXLEVEL REVERB_C_OUT_MIXLEVEL FIR_R_OUT_MIXLEVEL REVERB_R_OUT_MIXLEVEL FIR_LS_OUT_MIXLEVEL FIR_RS_OUT_MIXLEVEL ADVANCED SETTINGS COMB_0_DELAY_SIZE COMB_1_DELAY_SIZE COMB_2_DELAY_SIZE COMB_3_DELAY_SIZE COMB_4_DELAY_SIZE COMB_5_DELAY_SIZE COMB_0_G1 COMB_1_G1 COMB_2_G1 COMB_3_G1 COMB_4_G1 COMB_5_G1 COMB_0_MIXLEVEL COMB_1_MIXLEVEL COMB_2_MIXLEVEL COMB_3_MIXLEVEL COMB_4_MIXLEVEL COMB_5_MIXLEVEL ALLPASS_G1 ALLPASS_G2 Dataword Content -1.0 1.0. Default -1.0 1.0. Default -1.0 1.0. Default -1.0 1.0. Default -1.0 1.0. Default -1.0 1.0. Default -1.0 1.0. Default -1.0 1.0. Default -1.0 1.0. Default -1.0 1.0. Default -1.0 1.0. Default -1.0 1.0. Default -1.0 1.0. Default REVERB_LS_OUT_MIXLEVEL -1.0 1.0. Default REVERB_RS_OUT_MIXLEVEL -1.0 1.0. Default 1.1103 samples. Default=887 1.1213 samples. Default=947 1.1321 samples. Default=1069 1.1433 samples. Default=1297 1.1543 samples. Default=1439 1.1657 samples. Default=1571 1.0. Default=0.46 1.0. Default=0.48 1.0. Default=0.50 1.0. Default=0.52 1.0. Default=0.53 1.0. Default=0.55 1.0. Default=0.9 1.0. Default=0.9 1.0. Default=0.9 1.0. Default=0.9 1.0. Default=0.9 1.0. Default=0.9 1.0. Default=0.7 1.0. Default=0.51 Table Crystal Original Surround Effects Manager (Continued) AN123REV2 AN123 5.3.1 Effects_Mgr_Control Test Impulse Enable Disable/Enable replacement input with periodic impulse signal (repeated every 24000 samples). When using this mode Autodetection should disabled that pulse generation dependent input. autodetect left enabled, pulse will only generated presented active input. Enables Test Impulse Disables Test Impulse Deemphasis_Enable Disable/Enable Deemphasis. filter used identical CS4334 (50/15 uS). Enables Deemphasis Disables Deemphasis Effects Enable Disable/Enable Surround Effects. Enables Effects Disables Effects Note: Surround Effects parameters sampled CS492X only once just after kickstart (after download/soft reset application restart). These parameters cannot varied run-time. Therefore, change modes, issue soft reset application restart, reconfigure hardware settings, issue Effects messages then kickstart. AN123REV2 AN123 Crystal Original Surround Effects Processor Write Opcode 0x9C; Read Opcode 0x1D; Read Response Opcode 0x9D Write 0x9C00HH 0xhhhhhh Read Request 0x1D00HH Read Response 0x9D00HHh 0xhhhhhh 0xHH index, 0xhhhhhh data value Index 0x00 Variable PCM_CONTROL Dataword Content PCM_Input_EQ_Enable Disable/Enable 3-band filters input PCM. PCM_Divider_FIR_Enable Disable/Enable filter output Ls/Rs channels. 0x010x10 0x11 DIV_C0, DIV_C1, DIV_C15 Default 0x000000 -1.0 Coefficients each taps filter. Default* DIV_C0 Default* DIV_C1-15 PRE_EQ_ATTENUATION -1.0 Pre-EQ attenuation scale factor setup desired headroom filtering. EQ0_B2 EQ0_B1 EQ0_B0 EQ0_A2 EQ0_A1 EQ1_B2 EQ1_B1 EQ1_B0 EQ1_A2 EQ1_A1 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b Default* -4.0 3.21 format Biquad coefficient Filter Default* (0x200000) -4.0 3.21 format Biquad coefficient Filter Default* -4.0 3.21 format Biquad coefficient Filter Default* -4.0 3.21 format Biquad coefficient Filter Default* -4.0 3.21 format Biquad coefficient Filter Default* -4.0 3.21 format Biquad coefficient Filter Default* (0x200000) -4.0 3.21 format Biquad coefficient Filter Default* -4.0 3.21 format Biquad coefficient Filter Default* -4.0 3.21 format Biquad coefficient Filter Default* -4.0 3.21 format Biquad coefficient Filter Default* Table Crystal Original Surround Effects Processor AN123REV2 AN123 Index 0x1c 0x1d 0x1e 0x1f 0x20 0x21 Variable EQ2_B2 EQ2_B1 EQ2_B1 EQ2_A2 EQ2_A1 POST_EQ_GAIN Dataword Content -4.0 3.21 format Biquad coefficient Filter Default* (0x200000) -4.0 3.21 format Biquad coefficient Filter Default* -4.0 3.21 format Biquad coefficient Filter Default* -4.0 3.21 format Biquad coefficient Filter Default* -4.0 3.21 format Biquad coefficient Filter Default* -32.0 32.0 6.18 format Post-EQ gain scale factor compensate Pre-EQ attenuation filter gains maximize digital dynamic range usage. Default* (0x040000) Table Crystal Original Surround Effects Processor (Continued) AN123REV2 AN123 5.4.1 PCM_Control Input_PCM_EQ_Enable Switches ON/OFF input PCM. Enables Input Disables Input y(n) x(n)*DIV_C0 x(n-1)*DIV_C1 x(n-2)*DIV_C2 x(n-15)*DIV_C15 coefficients DIV_C0.15 host using messaging into indices specified above. When enabled, stereo input Effects Module (after de-emphasis enabled) first attenuated Pre_EQ_Attenuation scale factor (specified usual 1.23 format), then processed cascade three biquads specified {EQ0.2: coefficients. output last biquad then scaled Post_EQ_Gain scale factor (specified 6.18 format allow gain, i.e. scale factor 32). EQ-ed stereo pair output then forms input further effects processing. Note: parameters should downloaded host controller before kickstart. 5.4.2 Basic Crystal Surround Effects Explanation Crystal Original Surround Effects based public-domain research acoustic reverberation. more detailed discussion properties implementation, "About This Reverberation Business", James Moorer, Computer Music Journal 3(2): 13-28, 1979. Figure illustration basic reverb theory. this figure, should interpreted early reflections while should interpreted after reflections. Figure illustrates various modules Crystal Original Surround Effects corresponding control parameters available user. This forms Surround Effects Processor whose outputs (square nodes with bold legend) available Output Channel Mixer. Output Channel Mixer also receives stereo pair input Deemphasis enabled, stereo input first deemphasized (50/15 uS). This stage shown figure required only input input been preemphasized source. mono input surround processing derived mixing input stereo pair with user parameters L_Mono_Mixlevel R_Mono_Mixlevel. internal protection checking applied prevent overflow. This true other summing stages application also. Therefore, user settings should ensure that magnitudes summing mixlevels does exceed unity. input x(n) output y(n) each biquad filter given y(n) x(n)*b0 x(n-1)*b1 x(n-2)*b2 y(n1)*a1 y(n-2)*a2 Note: coefficients specified 3.21 format allow coefficient magnitudes PCM_Divider_FIR_Enable Switches ON/OFF Divider FIR. Enables Filter output Disables Filter produced output channels according Effects setup passed individually through identical 16-tap filters (assuming Control above been turned ON). This forms input Bass Manager turned ON). input x(n), output y(n) filter defined AN123REV2 AN123 Figure Illustrated Basic Reverb Theory Direct_FIR_Mixlevel FIR_Reverb_Mixlevel Reverb_Time, Reverb_Liveness, Advanced Settings L_Mono_ Mixlevel R_Mono_ Mixlevel LPF_FIR_ Mixlevel Delay Buffer Reverberator Module Direct_Reverb_Mixlevel Reverb_L Reverb_R Reverb_RS Reverb_C Reverb_LS Figure Detailed Block Diagram C.O.S. Effects Code AN123REV2 AN123 addition, impulse generator (not shown figure also provided testing purposes. this mode, input stereo pair zeroed unit amplitude impulse inserted both input channels every 24000 samples (half second Fs=48 KHz). input delay structure first-order filter with corner frequency Fs/6, i.e. Fs=48 7.35 Fs=44.1 KHz. variable mixlevels Direct_FIR_Mixlevel LPF_FIR_Mixlevel allow select amount high frequencies passed into stage surround processor. This used vary amount "brightness" surround effect. Delay Buffer hold 5616 samples which corresponds Fs=48 KHz, 127.35 Fs=44 KHz. Thirty userspecifiable taps T0-T31 available from this delay buffer. settings T0-T31 specify absolute number samples delay 5615). delays need monotonic specific ordering, arbitrarily sequenced. example, T0=4000 samples, samples, samples valid setting. filter constructed using these delay buffer taps with coefficients C0-C31 corresponding taps T0-T31. This filter used model Early Reflections particular room. output available Output Channel Mixer directly. available input reverberator further surround effects processing. mono input Reverberator Module derived mixing output delay buffer output using user-specified parameters Direct_Reverb_Mixlevel FIR_Reverb_Mixlevel respectively. Note that defaults delay i.e. direct output Variable structure. adjusted align impulse response Reverberator Module (After Reflections) with Early Reflections produced filter. Reverberator Module accepts user settings Reverb_Time Reverb_Liveness, which both unitless constants. larger value Reverb_Time increases duration reverberation effect, i.e. period sustained echo. larger value Reverb_Liveness decreases high frequency content (increased high-frequency attenuation) reverberation. Reverberator Module produces outputs Output Channel Mixer, each output full-bandwidth channel. more detailed treatment advanced settings possible reverberator, well information creating custom effects modes presented Section 13.2 Figure illustrates Output Channel Mixer. Note: `Mixlevel' abbreviated `Mlv.' lack space. Each five full-bandwidth output channels derived userspecifiable input stereo pair, output, corresponding output channel Reverberator Module. Frequency Effects (LFE) channel output carries surround processing, only userspecifiable input stereo pair. Disabling surround effects used simple pass through. AN123REV2 AN123 L_L_Out_Mlv. R_L_Out_Mlv. L_Out L_C_Out_Mlv. R_C_Out_Mlv. FIR_L_Out_Mlv. FIR_C_Out_Mlv. C_Out Reverb_L_Out_Mlv. Reverb_C_Out_Mlv. Reverb_L Reverb_C L_R_Out_Mlv. R_R_Out_Mlv. R_Out L_Ls_Out_Mlv. R_Ls_Out_Mlv. FIR_R_Out_Mlv. FIR_Ls_Out_Mlv. Ls_Out Reverb_R_Out_Mlv. Reverb_Ls_Out_Mlv. Reverb_R Reverb_Ls L_Rs_Out_Mlv. R_Rs_Out_Mlv. FIR_Rs_Out_Mlv. Rs_Out L_LFE_Out_Mlv. R_LFE_Out_Mlv. LFE_Out Reverb_Rs_Out_Mlv. Reverb_Rs Figure Block Diagram C.O.S. Output Channel Mixer AN123REV2 AN123 5.4.3 Creating Custom Effects Using Advanced Settings This section goes into technical description Reverberator module. Figure shows block diagram internal implementation reverberator module. coefficients (generated actual room measurements and/or listening experiments), various sizes rooms derived simply scaling locations (not coefficients). Other effects generated moving back taps simulate delay early reflections. amplitude coefficients scaled according desired liveness room. amplitude coefficients does fall quickly, then room will appear more live (later early reflections will more present output). 5.4.3.1 Section: Early Reflections filter shown figure allows simulate early reflections model specific room acoustics. Given particular filter taps Comb_[0-5]_Mixlevel Comb_0 Comb_1 Direct Mono AllPass_g1, AllPass_g2 Comb_2 AP_Main Comb_3 Comb_4 Comb_5 AllPass Filters AP_L AP_C AP_R AP_Rs AP_Ls Reverb_L Reverb_Time (Comb_g), Reverb_Liveness (Comb_h), Comb_[0-5]_g1, Comb_[0-5]_Delay_Size Reverb_R Reverb_RS Reverb_C Reverb_LS Comb Filter Module x(n) y(n) AllPass (AP) Filter Module z^(-Delay_Size) x(n) y(n) z^(-Delay_Size) z^-(1) Comb_h Comb_g1 Comb_g Delay_Size Comb_Delay_Size AllPass_g1; AllPass_g2 Delay_Size 293, 127, 139, 151, 163, Main, respectively. Figure Detailed Block Diagram C.O.S. Reverberator Module AN123REV2 AN123 5.4.3.2 Comb Filter Section: After-reflections Following early reflections simulated FIR, comb filters used simulate dense after-reflections that caused walls transitions thereof. Each comb filter reproduces input signal with periodic delay decaying amplitude. Furthermore, first order pass filter included feedback simulate absorption high frequencies air. This produces more realistic `live' reverberation that sounds less `tinny'. combs used parallel produce dense after-reflections. delay sizes combs chosen mutually prime avoid coinciding echoes from different combs. recommended delays each comb roughly more than previous one. However comb sizes with arrangements that regular cause distorted output. coefficients comb should satisfy G1+G2<1 stability. scheme controlling parameters CS492X guarantees this. individual default Comb_[0-5]_g1 changed. derived each comb automatically shown Figure using Comb_g Comb_h well Comb_[0-5]_g1. Increasing decreasing) Reverb_Time (Comb_g) parameter increases decreases) length after-reflection tail since scales down) feedback comb. Increasing decreasing) Reverb_Liveness (Comb_h) parameter increases decreases) amount action feedback, thus making sound more less) dampened. This particularly important reduce clicking effect when reverberating short impulsive sounds. While experimenting, found that particular comb's reverberation (among six) audibly predominant (buzzing sound). overcome this, corresponding Comb_[05]_Mixlevel that comb reduced equalize audible effect with other combs. These also used overcome overflow issues that happen with different choices 5.4.3.3 All-Pass Filter Section: More Afterreflections Decorrelation All-Pass filters another means simulating after-reflections. addition, they used here decorrelate different channel outputs from each other. CS492X implementation, delay sizes fixed specified figure AllPass filters share same values stability, G1^2 should guaranteed host these values changed. Increasing decreasing) parameter increases decreases) reverberation time (length after-reflection tail) scaling down) reverberated contribution output. 5.4.4 Crystal Original Surround Effects Modes This section describes some standard effects modes that provided along with application microcode. Each mode setup issuing application restart message soft reset (assuming microcode already downloaded), sending required hardware configuration messages, finally sending corresponding configuration message each surround effects mode. each mode described, configuration settings given. Although assume default values listed Table provided message sets explicitly setup parameters most cases. Thus they serve templates future custom development user. Note: Surround Effects parameters sampled CS492x only once just after kickstart (after download/soft reset application restart). These parameters cannot varied run-time. Therefore, change modes, issue AN123REV2 AN123 soft reset application restart, reconfigure hardware settings, issue Effects messages then kickstart. included effects modes were derived from basic filter structures: basic 7-point filter with taps T0-6 955, 1699, 1867, 1987, 3355, 3821 samples. corresponding coefficients C0-6 0.9804, 1.0, 0.802, 0.6225, 0.7049, 0.2618, 0.2373. 19-point filter with taps T0-18 206, 1032, 1080, 1286, 1296, 1430, 2198, 2328, 2746, 2818, 2856, 2938, 3394, 3398, 3485, 3557, 3614, 3826 samples. corresponding coefficients C0-18 1.0, 0.841, 0.504, 0.491, 0.379, 0.380, 0.346, 0.289, 0.272, 0.192, 0.193, 0.217, 0.181, 0.180, 0.181, 0.176, 0.142, 0.167, 0.134. scaling these taps coefficients, different effects created. decreasing increasing) coefficients, liveness room increased decreased). Scaling locations will increase/decrease length early reflections. Delaying taps (offsetting taps same amount time) causes delay early reflections. brief description each surround effect mode provided below. Note that modes have been designed Fs=48 KHz. When used Fs=44.1 KHz, change largely inaudible acceptable most cases. necessary, user scale delay reverb time parameters used) appropriately. effects broken into categories, reverberative reverberative. Reverberative affects have late reflections while reverberative effects. next sections list different configuration examples sent with code categorized whether effect reverberative not. Non-reverberative effects much more subtle while reverberative effects more extreme sometimes interfere with actual source material. naming each mode very subjective only intended suggestion. "COEFMAKR.EXE EFFECTS.EXE" describes program that create effects configuration files user. 5.4.5 Reverberative Effects Non-reverberative effects provide subtle effect through remapping and/or redirecting stereo input. this user fill speakers surround system without significantly altering content source. Delays used some modes simulate larger listening area. 5.4.5.1 Passthru This mode does engage Effects Manager thus reverberation early reflections. default setup Output Channel Mixer used, i.e. L_Out R_Out C_Out Ls_Out Rs_Out LFE_Out 5.4.5.2 Mono This mode reverberation early reflections only uses Output Channel Mixer. Output Channel Mixer setup for: L_Out R_Out C_Out Ls_Out Rs_Out =0.5 LFE_Out 5.4.5.3 Classical This mode reverberation only uses Output Channel Mixer. mono setup (L+R)/2 with contribution feeds FIR, 5-tap filter. AN123REV2 AN123 Output Channel Mixer setup for: L_Out R_Out C_Out Ls_Out Rs_Out LFE_Out 5.4.6 Reverberative Effects Reverberative effects combine different filters discussed sections "Basic Crystal Surround Effects Explanation" "Creating Custom Effects Using Advanced Settings" create more obvious effect. These effects used fill incoming source desired. Care should taken some reverberative effects strong that they interfere with original stereo source signal. effects listed below start with subtle effects (Room) graduate very obvious (Stadium). simplify following configuration files, following naming convention been used: tErGaKiN.cfg 5.4.5.4 Panorama This mode reverberation only uses Output Channel Mixer. mono setup (L-R)/2 with contribution feeds FIR, same 5-tap filter Classical mode. Output Channel Mixer setup for: L_Out 0.31623 R_Out 0.31623 C_Out Ls_Out Rs_Out LFE_Out 5.4.5.5 Movie These modes have reverberation only uses Output Channel Mixer. Each mode different delay tap/coefficient setting, have following generic setup. mono setup (L+R)/2 with contribution feeds FIR, 5-tap filter depending mode. Output Channel Mixer setup for: L_Out R_Out C_Out Ls_Out Rs_Out LFE_Out This number represents filter type used early reflections. Type 7-Tap, Type 19-Tap, discussion above. 19-Tap filter will make early reflections sound much thicker. This useful when trying create echo pattern that sounds thick. This represents amount Initial Delay Early Reflection time. shorter Early Reflection time will make room size sound smaller, longer time will make room sound larger. Initial Delay until Early Reflections will cause room sound source further from walls. Early Reflections last Initial Delay until Early Reflections Early Reflections last (default), Initial Delay until Early Reflections Early Reflections last there Initial Delay until Early Reflections ms). 5.4.5.6 Music These modes identical Movie1-4 modes above, except that Output Channel Mixer setup C_Out AN123REV2 AN123 This represents amount time After Reflections. After Reflections produced Reverb Module will produce dense tail effect, this parameter will influence length that tail. Reverb time 0.25. Reverb time (default). Reverb time 0.8. Reverb time 0.98. This will produce reverb time that very large. NOTE: Only example with K==4 presented here (Stadium). This represents After Reflection (Reverb) Liveness. absorb more high frequency content After Reflections sound less bright), number should higher. increase high frequency content sound more bright), number should lower. 1:Reverb Liveness (After Reflection Liveness) 2:Reverb Liveness (After Reflection Liveness) simplify filters, description some filters follows. Note that configuration files supplied many more variations parameters specified above. supplied configuration files intended span range effects that created using coefmakr.exe program. create intermediate sounding effects, could simply interpolate parameters specified coefmakr.exe program corresponding configuration files. "COEFMAKR.EXE EFFECTS.EXE" more details. Reverberative Modes, following mixlevels (default coefmakr.exe) used: Reverb_Direct_Mixlevel Reverb_FIR_Mixlevel L_to_L_Out 0.875 R_to_L_Out L_to_C_Out 0.4375 R_to_C_Out 0.4375 L_to_R_Out R_to_R_Out 0.875 L_to_Ls_Out 0.125 R_to_Ls_Out 0.125 L_to_Rs_Out 0.125 R_to_Rs_Out 0.125 L_to_LFE_Out R_to_LFE_Out FIR_to_L_Out 0.0833 Reverb_to_L_Out 0.0417 FIR_to_C_Out 0.0417 Reverb_to_C_Out 0.0213 FIR_to_R_Out 0.0833 Reverb_to_R_Out 0.0417 FIR_to_Ls_Out Reverb_to_Ls_Out 0.25 FIR_to_Rs_Out Reverb_to_Rs_Out 0.25 L_Mono_Mixlevel R_Mono_Mixlevel Direct_FIR_Mixlevel 0.875 LPF_FIR_Mixlevel 0.125 AN123REV2 AN123 5.4.6.1 t1r1a1i1.cfg Room This effect mode simulates reflections from small room. room live, small Early Late Reflection Times. type filter used, providing very mild effect. muddy. long decay time provides effect sound bouncing many hard walls, very bright tone used. This effect presented merely demonstrate extreme capability Crystal scheme, require modification before practical system. 5.4.6.2 t2r3a1i2.cfg Room This effect mode simulates reflections from small room, uses larger filter spread over larger time thicken sound early reflections. 5.4.7 Effects Configuration Files COEFMAKR.EXE program written assist development unique effects configurations. documented "COEFMAKR.EXE EFFECTS.EXE". This program used create configuration files effects modes presented previous sections. configuration files have been omitted from this document conserve space. COEFMAKR.EXE program along with configuration files file available www.crystal.com under CS4923 page. configuration file contains paired byte words which actual commands sent CS4923. These messages correlate with parameters table addition comment lines marked symbol included help explain configuration messages.When porting messages code host microcontroller, comment lines should omitted care should taken keep paired byte words together correct order. configuration files also contain "kickstart" last command (see "Audio Manager" more information). 5.4.6.3 t1r1a2i1.cfg Theater This effect mode simulates reflections medium size theater. Early Reflections will short, very present. Late Reflections bright, present medium amount time. 5.4.6.4 t2r3a2i2.cfg Theater Early Reflections this effect dominant long, allowing very thick sounding Early Reflection. This effect mode short Reverb Time large Reverb Liveness, making sound less bright. 5.4.6.5 t1r1a3i1.cfg Hall This effect Early Late Reflections, with large Reverb Time, small Reverb Liveness. This effect will have very large sound, high frequencies will present After Reflections. 5.4.6.6 t2r3a3i2.cfg Hall This effect, similar Hall1, same amount Early Late Reflections. this effect mode, higher frequencies less present, resulting less bright sound reflections. COEFMAKR.EXE EFFECTS.EXE COEFMAKR.EXE (Coefficient Maker) simple, easy program generating configuration files used conjunction with Crystal Effects code CS492X series Surround Sound DSP's. Please contact your latest version this development software. program takes configuration options command line, these options displayed with command line switch. 5.4.6.7 t2r3a4i2.cfg Stadium This effect, utilizing maximum Early Late Reflections, long decay time. sound highly decorrelate, making echoes sound AN123REV2 AN123 Note that since there command line options minimum must specified), display Level options, switch must used. Advanced Options, switch must used. EFFECTS.EXE version COEFMAKR.EXE which allows user edit effects configuration files them CRD4923 CDB4923 application boards real time. program mirrors block diagrams shown figures allows user controls parameters discussed section 5.3. Below short description files what they contain: COEFMAKR.EXE main program coefficient maker. FIR.CFG This file contains templates basic (Early Reflection) filters, which scaled coefmakr into section effects code. Additional filters added this file, file replaced same structure. However, different file used, must specified command line option). COEFMAKR correctly, this file must reside same directory. MAKETEST.BAT This batchfile will generate default configuration files shown section (with reverb) using COEFMAKR.EXE. EFFECTS.EXE version COEFMAKR.EXE More files need present. Please read README.TXT file file from which programs were extracted more information these programs. AN123REV2 AN123 **************** Command line options: Basic Options: -Usage: coefmakr [-qfile.out -cfilter.cfg -xelevel] -qfile.out file.out Config file generated(default=file.out) -cfilter.cfg filter.cfg Filter parameter file(default=fir.cfg) Sampling Rate (32, KHz) Initial Delay Early Reflections (0*,1,.,115ms) Filter Type Early Reflection Time (0,1,.,80*,. Liveness Early Reflection (0,.,1*) Delay Until After Reflections (0,1,.,100*,.ms) After Reflection Time (0,.,0.5*,.,1) After Reflection Liveness (0,.,1*) Level(s) Change options) Advanced Options options) non-verbose mode Options: -Usage Mixlevel: L_Mono_Mixlevel(-1.0.5*.1) R_Mono_Mixlevel(-1.0.5*.1) LPF_FIR_Mixlevel(-1.0.125*.1) Reverb_FIR_Mixlevel(-1.0*.1) L_to_L_Out(-1.0.875*.1) R_to_L_Out(-1.0*.1) AN123REV2 AN123 L_to_C_Out(-1.0.4375*.1) R_to_C_Out(-1.0.4375*.1) L_to_R_Out(-1.0*.1) R_to_R_Out(-1.0.875*.1) L_to_Ls_Out(-1.0.125*.1) R_to_Ls_Out(-1.0.125*.1) L_to_Rs_Out(-1.0.125*.1) R_to_Rs_Out(-1.0.125*.1) L_to_LFE_Out(-1.0.5*.1) R_to_LFE_Out(-1.0.5*.1) FIR_to_L_Out(-1.0.0625*.1) Reverb_to_L_Out(-1.0.0625*.1) FIR_to_C_Out(-1.0.03125*.1) Reverb_to_C_Out(-1.0.03125*.1) FIR_to_R_Out(-1.0.0625*.1) Reverb_to_R_Out(-1.0.0625*.1) FIR_to_Ls_Out(-1.0.375*.1) Reverb_to_Ls_Out(-1.0.375*.1) FIR_to_Rs_Out(-1.0.375*.1) Reverb_to_Rs_Out(-1.0.375*.1) Options: -Usage Advanced Options: Comb_0_Delay_Size(1.1103*) Comb_1_Delay_Size(1.1213*) Comb_2_Delay_Size(1.1321*) Comb_3_Delay_Size(1.1433*) Comb_4_Delay_Size(1.1543*) Comb_5_Delay_Size(1.1657*) Comb_0_g1(0.0.0895*.1) AN123REV2 AN123 Comb_1_g1(0.0.0950*.1) Comb_2_g1(0.0.1002*.1) Comb_3_g1(0.0.1055*.1) Comb_4_g1(0.0.1106*.1) Comb_5_g1(0.0.1160*.1) Comb_0_Mixlevel(0.0.9*.1) Comb_1_Mixlevel(0.0.9*.1) Comb_2_Mixlevel(0.0.9*.1) Comb_3_Mixlevel(0.0.9*.1) Comb_4_Mixlevel(0.0.9*.1) Comb_5_Mixlevel(0.0.9*.1) Allpass_g1(0.0.7*.1) Allpass_g2(0.0.51*.1) following command line parameters with COEFMAKR.EXE program create configuration files effects modes presented "t1r1a1i1.cfg Room through "t2r3a4i2.cfg -Stadium". coefmakr -qt1r1a1i1.cfg -r40 -d20 -a0.25 coefmakr -qt2r3a1i2.cfg -r115 -i0.6 coefmakr -qt1r1a2i1.cfg -r40 -d20 coefmakr -qt2r3a2i2.cfg -r115 -i0.6 coefmakr -qt1r1a3i1.cfg -r40 -d20 -a0.8 coefmakr -qt2r3a3i2.cfg -r115 -a0.8 -i0.6 coefmakr -qt2r3a4i2.cfg -r115 -l0.5 -m120 -a0.97 -i0.8 AN123REV2 Notes Other recent searchesZL50010 - ZL50010 ZL50010 Datasheet ZL50010 - ZL50010 ZL50010 Datasheet ZL50010 - ZL50010 ZL50010 Datasheet uPA835TF - uPA835TF uPA835TF Datasheet Si4854DY - Si4854DY Si4854DY Datasheet LTC1483 - LTC1483 LTC1483 Datasheet HM10S616A - HM10S616A HM10S616A Datasheet
Privacy Policy | Disclaimer |