Presentation is loading. Please wait.

Presentation is loading. Please wait.

CDMA Technology OverviewFebruary, 2001 - Page 2-1 CDMA Technology Overview Lesson 3 - Forward Traffic Channels.

Similar presentations


Presentation on theme: "CDMA Technology OverviewFebruary, 2001 - Page 2-1 CDMA Technology Overview Lesson 3 - Forward Traffic Channels."— Presentation transcript:

1 CDMA Technology OverviewFebruary, Page 2-1 CDMA Technology Overview Lesson 3 - Forward Traffic Channels

2 CDMA Technology OverviewFebruary, Page 2-2 CDMA Forward Traffic Channels nUsed for the transmission of user and signaling information to a specific mobile station during a call nMaximum number of traffic channels: 64 minus one Pilot channel, one Sync channel, and 1 to 7 Paging channels  This leaves each CDMA frequency with at least 55 traffic channels  Unused paging channels can provide up to 6 additional channels  Realistic loading will typically be about 17 subscribers when using the 13 kb vocoder (22 when using the 8 kb vocoder) Forward Traffic Channel Sync Paging Forward Traffic Channel Pilot  CDMA Cell Site

3 CDMA Technology OverviewFebruary, Page 2-3 Pilot Walsh 0 Walsh 19 Paging Walsh 1 Walsh 6 Walsh 11 Walsh 20 Sync Walsh 32 Walsh 42 Walsh 37 Walsh 41 Walsh 56 Walsh 60 Walsh 55 Code Channels in the Forward Direction nPILOT: WALSH CODE 0 The Pilot is a “structural beacon” which does not contain a character stream. It is a timing source used in system acquisition and as a measurement device during handoffs nSYNC: WALSH CODE 32 This carries a data stream of system identification and parameter information used by mobiles during system acquisition nPAGING: WALSH CODES 1 up to 7 There can be from one to seven paging channels as determined by capacity needs. They carry pages, system parameters information, and call setup orders nTRAFFIC: any remaining WALSH codes The traffic channels are assigned to individual users to carry call traffic. All remaining Walsh codes are available, subject to overall capacity limited by noise

4 CDMA Technology OverviewFebruary, Page 2-4 Coding Process in the Forward Direction A Forward Channel is identified by: v its CDMA RF carrier Frequency v the unique Short Code PN Offset of the sector v the unique Walsh Code of the user CDMA Frequency

5 CDMA Technology OverviewFebruary, Page 2-5 Digital Stream 0 (DS0) t t t t kbs Analog Voice SignalSamplingQuantizing Signal Regeneration

6 CDMA Technology OverviewFebruary, Page 2-6 Variable Rate Vocoding & Multiplexing (Traffic Channels Only) l Vocoders compress speech, reduce bit rate l CDMA uses a superior Variable Rate Vocoder  full rate during speech  low rates in speech pauses  increased capacity  more natural sound l Voice, signaling, and user secondary data may be mixed in CDMA frames DSP QCELP VOCODER Codebook Pitch Filter Formant Filter Coded Result Feed- back 20ms Sample Rate Set 2 Frame Sizesbits Full Rate Frame 1/2 Rate Frame 1/4 Rt. 1/ Frame Contents: can be a mixture of VoiceSignalingSecondary

7 CDMA Technology OverviewFebruary, Page 2-7 Converting Bits into Symbols nThe bits in a 20 ms traffic frame may include one or more of the following  voice information (from the vocoder)  signaling information  secondary traffic information nWhen Forward Error Correction algorithms are applied to these information bits, the resulting 0s and 1s are called symbols  bits and symbols are related in a complex many-to-many fashion the information in one bit is distributed among many symbols, and one symbol carries some of the information of many bits  all forward traffic frames contain 384 symbols  all reverse traffic frames contain 576 symbols Bits Symbols Forward Error Correction

8 CDMA Technology OverviewFebruary, Page 2-8 Spreading Symbols into Chips Symbols are converted into special 64-chip patterns for transmission  there are 64 such patterns called “Walsh codes”  in the forward link, just one of these patterns is assigned to each user’s stream of symbols (code channel)  each ‘0’ symbol is replaced by the selected pattern (Walsh code)  each ‘1’ symbol is replaced by the logical negation of the selected pattern  in the reverse link, all the 64 patterns (but not their logical negations) are used in every code channel  each group of six symbols is interpreted as a binary value in the 0-63 range and replaced by the corresponding Walsh code Symbols Chips Coding and Spreading

9 CDMA Technology OverviewFebruary, Page 2-9 Reverting the Process To revert the process, first the symbols are recovered as follows n In the forward direction, the mobile station correlates the received signal with the selected Walsh code pattern (integrating the power over 64 chips) n In the reverse direction, the BTS matches the received signal with each possible Walsh code and selects the pattern that produces the highest degree of correlation n When all the symbols for a 20 millisecond frame have been recovered, the Viterbi decoder is used to guess the block of bits (frame) that most probably corresponds to this block of symbols n Then the CRC of this frame is calculated to determine if the guess was successful; if not, the frame is discarded Symbols Chips Despreading (integraton) Bits Viterbi Decoder

10 CDMA Technology OverviewFebruary, Page 2-10 Forward Traffic Channels: Vocoding nVocoding reduces the bit rate needed to represent speech nOutput is 20 ms frames at fixed rates: Full Rate, 1/2 Rate, 1/4 Rate, 1/8 Rate, & Blank nCRC is added to all the frames for the 13 kb vocoder, but only to the Full and 1/2 rate frames for the 8 kb vocoder nCRC is not added to the lower rate frames in the 8 kb vocoder but that is ok because they consist mostly of background noise and have a higher processing gain nCurrent vocoder rates are 13 kb, 8 kb, and 8 k EVRC (Enhanced Variable Rate Coder) To the Convolutional Encoder 20 ms slices (1280 bits) Variable Rate Voice Coding Add CRC Add 8 bit Encoder Tail 64 kbps From MTX Convolutional Encoding Code Symbol Repetition Block Interleaving Data Scrambling Power Control Subchannel Orthogonal Spreading Quadrature Spreading Baseband Filtering Vocoder Processing Baseband Traffic to RF Section PCM Voice BSC BTS (Symbol Puncturing)

11 CDMA Technology OverviewFebruary, Page 2-11 Variable Rate Vocoder A-to-D C O N V E R T E R A-to-D C O N V E R T E R 64 kbps VOCODERVOCODER VOCODERVOCODER “Codebook” Instruction (< 64 kbps) nSpeech coding algorithms (digital compression) are necessary to increase cellular system capacity nCoding must also ensure reasonable fidelity, that is, a minimum level of quality as perceived by the user nCoding can be performed in a variety of ways (for example, waveform, time or frequency domain) nVocoders transmit parameters which control “reproduction” of voice instead of the explicit, point-by-point waveform description

12 CDMA Technology OverviewFebruary, Page 2-12 Wireless Data Service

13 CDMA Technology OverviewFebruary, Page 2-13 Forward Traffic Channel Generation Gain Control Baseband Filter Baseband Filter I PN Q PN Mcps Walsh Function Block Interleaving R = 1/2, K = 9 Convolutional Encoding & Repetition 19.2 Ksps 19.2 Ksps Decimator Long PN Code Generator Scrambling User Address Mask (ESN-Based) Mcps 19.2 Ksps 9600 bps 4800 bps 2400 bps 1200 bps or bps 7200 bps 3600 bps 1800 bps (traffic frames) Power Control Bit Decimator 800 Hz MUXMUX Symbol Puncturing (13 Kb only) 28.8 Ksps bitssymbolschips CHANNEL ELEMENT

14 CDMA Technology OverviewFebruary, Page 2-14 Forward Traffic Channel Frame Structure Transmission Rate TotalReservedInformationCRCTail Bits — — — 40 — — 16 — Number of Bits per Frame Rate Set

15 CDMA Technology OverviewFebruary, Page 2-15 Convolutional Encoding and Symbol Repetition nConvolutional encoding  Is a means of error detection/correction  Results in 2 code symbols (or more, depending on the “R” constant) output for each bit input nSymbol repetition maintains a constant 19.2 Ksps output to be fed into the block interleaver  Also allows for reduction in transmit power  Reduces overall noise and increases capacity Convolutional Encoding Code Symbol Repetition Block Interleaving Data Scrambling Power Control Subchannel Orthogonal Spreading Quadrature Spreading Baseband Filtering Vocoder Processing Baseband Traffic to RF Section PCM Voice (Symbol Puncturing) Variable Rate Output from the Vocoder Convolutional Encoder R=1/2 K=9 Symbol Repetition 19.2 ksps to Block Interleaver 14.4 kbps 7.2 kbps 3.6 kbps 1.8 kbps 28.8 ksps 14.4 ksps 7.2 ksps 3.6 ksps 9.6 kbps 4.8 kbps 2.4 kbps 1.2 Kbps 19.2 ksps 9.6 ksps 4.8 ksps 2.4 ksps 28.8 ksps to Symbol Puncturing 8 kb 13 kb bitscode symbols modulation symbols

16 CDMA Technology OverviewFebruary, Page 2-16 A Very Simple Convolutional Encoder + +

17 CDMA Technology OverviewFebruary, Page 2-17 A Very Simple Convolutional Encoder

18 CDMA Technology OverviewFebruary, Page 2-18 A Very Simple Convolutional Encoder

19 CDMA Technology OverviewFebruary, Page 2-19 A Very Simple Convolutional Encoder

20 CDMA Technology OverviewFebruary, Page 2-20 A Very Simple Convolutional Encoder

21 CDMA Technology OverviewFebruary, Page 2-21 A Very Simple Convolutional Encoder

22 CDMA Technology OverviewFebruary, Page 2-22 A Very Simple Convolutional Encoder

23 CDMA Technology OverviewFebruary, Page 2-23 Rate 1/2, k=9 Convolutional Encoding nSymbols generated as the information bits transit through the encoder, are related to all the bits currently in the register nEach information bit contributes to multiple generated symbols nThis pattern of inter-relationships helps detect and correct errors nThe length of shift register plus 1 is called the “constraint length” of the convolutional encoder (K=9 in this case)  The longer the register, the better this scheme can correct bursty errors  Reduces power required to achieve same accuracy as without coding nHere, two symbols are generated for every bit input (Rate 1/2) Code Symbol Output g 0 g 1 c 0 c 1 Data Bit Input (Data Bit is discarded) Code Symbol Output

24 CDMA Technology OverviewFebruary, Page 2-24 Symbol Repetition and Power Reduction nSymbol repetition provides a constant rate to the block interleaver nLower rates symbols are sent at reduced power levels nThe energy per bit across all rates is identical when integrated nOverall signal power requirement (thus noise) is reduced Data Rate (bps) Energy per Modulation Symbol / / / / 1200 E =E /2 sb E =E /4 sb E =E /8 sb E =E /16 sb Full Energy 1/2 Energy 1/4 Energy 1/8 Energy MATH HAMMER

25 CDMA Technology OverviewFebruary, Page 2-25 Symbol Puncturing Rate Set 2 (13 kbps Vocoder) nSymbol repetition maintains a constant 28.8 ksps output to puncturing section nSymbol puncturing deletes 2 of every 6 inputs based on a six-bit pattern nUnrepeated symbols for 28.8 ksps frames are also deleted Convolutional decoder in mobile station will correct these purposeful errors nPuncturing provides a constant 19.2 Ksps input to interleaver just like in rate set 1 This allows all other functions to remain exactly the same PCM Voice Convolutional Encoding Code Symbol Repetition Block Interleaving Data Scrambling Power Control Subchannel Orthogonal Spreading Quadrature Spreading Baseband Filtering Vocoder Processing Baseband Traffic to RF Section (Symbol Puncturing) From R=1/2 K=9 Convolutional Encoder Symbol Puncturing to the Block Interleaver Symbol Repetition 28.8 ksps 14.4 ksps 7.2 ksps 3.6 ksps 19.2 Ksps

26 CDMA Technology OverviewFebruary, Page 2-26 Block Interleaving n20 ms symbol blocks are sequentially reordered nCombats the effects of fast fading nSeparates repeated symbols at 4800 bps and below  Improves survival rate of symbol data  Spreads the effect of bursty interference 19.2 ksps From Coding & Symbol Repetition Input Array (Normal Sequence) 24 X 16 Output Array (Reordered Sequence) 24 X 16 To Data Scrambling Function PCM Voice Convolutional Encoding Code Symbol Repetition Block Interleaving Data Scrambling Power Control Subchannel Orthogonal Spreading Quadrature Spreading Baseband Filtering Vocoder Processing Baseband Traffic to RF Section (Symbol Puncturing)

27 CDMA Technology OverviewFebruary, Page bps Block Interleaver (Input Array) nThe 384 modulation symbols in a frame are input into a 24 by 16 block interleaver array (read down by columns, from left to right) nThe array represents a 20 ms interval worth of information

28 CDMA Technology OverviewFebruary, Page bps Block Interleaver (Output Array) nThis 24 by 16 array (read down by columns, from left to right) indicates the order in which the symbols are output from the block interleaver nThe effect of bursty errors during transmission is minimized (the 2k contiguous symbols containing the information to restore one data bit have been separated) Assume that a burst of noise damages all these bits

29 CDMA Technology OverviewFebruary, Page bps De-Interleaving Notice how the effect of the burst of noise is spread over the transmitted block

30 CDMA Technology OverviewFebruary, Page 2-30 Forward Channel Demodulation

31 CDMA Technology OverviewFebruary, Page 2-31 Putting it All Together: CDMA Code Channels nThe three spreading codes are used in different ways to create the forward and reverse links nA forward channel exists by having a specific Walsh Code assigned to the user, and a specific PN offset for the sector nA reverse channel exists because the mobile uses a specific offset of the Long PN sequence BTS WALSH CODE: Individual User SHORT PN OFFSET: Sector LONG CODE OFFSET: individual handset FORWARD CHANNELS REVERSE CHANNELS LONG CODE: Data Scrambling WALSH CODES: used as symbols for robustness SHORT PN: used at 0 offset for tracking

32 CDMA Technology OverviewFebruary, Page 2-32 Pilot Channel

33 CDMA Technology OverviewFebruary, Page 2-33 Pilot Channel nUsed by the mobile station for initial system acquisition nTransmitted constantly by the base station nThe same PN sequences are shared by all base stations  Each base station is differentiated by a phase offset nProvides tracking of  Timing reference  Phase reference nSeparation by phase provides for extremely high reuse within one CDMA channel frequency nAcquisition by mobile stations is enhanced by  Short duration of Pilot PN sequence  Uncoded nature of pilot signal nFacilitates mobile station-directed handoffs  Used to identify handoff candidates  Key factor in performing soft handoffs

34 CDMA Technology OverviewFebruary, Page 2-34 Pilot Channel Generation nThe Walsh function zero spreading sequence is applied to the Pilot nThe use of short PN sequence offsets allows for up to 512 distinct Pilots per CDMA channel nThe PN offset index value (0-511 inclusive) for a given pilot PN sequence is multiplied by 64 to determine the actual offset  Example: 15 (offset index) x 64 = 960 PN chips  Result: The start of the pilot PN sequence will be delayed 960 chips x nanoseconds per chip = µs nThe quadrature spreading and baseband filtering (not shown), which are performed as with all the other forward and reverse code channels, will be discussed later Gain Control Baseband Filter Baseband Filter I PN Q PN Mcps Walsh Function 0 Pilot Channel (All 0’s)

35 CDMA Technology OverviewFebruary, Page 2-35 Walsh Code Channel Generation W 1 = W 2 = W 4 = W 2 n = WnWn WnWn WnWn WnWn W 1 = W 2 = W 4 =

36 CDMA Technology OverviewFebruary, Page 2-36 CDMA “Short” and “Long” PN Codes CDMA uses three PN code sequences: two “short” and one “long” nThe two short PN codes (called “I” and “Q”) are used for quadrature spreading to differentiate between CDMA partitions (sectors/cells) in the forward direction nThe two short codes are generated by 15-bit PN code generators. The generated strings are bits long plus one zero inserted following the longest string of generated zeroes (32,768); and their cycle period is milliseconds (or 75 times every 2 seconds). nThe long PN code is used for spreading and data scrambling/randomization, and to differentiate among mobile stations in the reverse direction. nThe long code is generated by a 42-bit PN code generator. The generated string is with no zero inserted (about 4.4 trillion) bits long; and its cycle period is approximately 41 days, 10 hours, 12 minutes and 19.4 seconds. nThe three CDMA PN codes are synchronized to the beginning of system time (January 6, 1980 at 00:00:00 hours)

37 CDMA Technology OverviewFebruary, Page 2-37 Pilot Channel Acquisition nThe mobile station starts generating the I and Q PN short sequences by itself and correlating them with the received composite signal at every possible offset  In less that 15 seconds (typically 2 to 4 seconds) all possibilities (32,768) are checked  The mobile station remembers the offsets for which it gets the best correlation (where the E c /I 0 is the best) nThe mobile station locks on the best pilot (at the offset that results in the best E c /I 0 ), and identifies the pattern defining the start of the short sequences (a ‘1’ that follows fifteen consecutive ‘0’s) nNow the mobile station is ready to start de-correlating with Walsh code 32 to extract the Sync Channel (next section) PILOT CHANNEL (Walsh Code 0)

38 CDMA Technology OverviewFebruary, Page 2-38 Sync Channel

39 CDMA Technology OverviewFebruary, Page 2-39 Sync Channel nUsed to provide essential system parameters nUsed during system acquisition stage nThe bit rate is 1200 bps nThe Sync channel has a frame duration of 26 2 / 3 ms  this frame duration matches the period of repetition of the PN Short Sequences  this simplifies the acquisition of the Sync Channel once the Pilot Channel has been acquired nThe Mobile Station re-synchronizes at the end of every call The Pilot channel carries no data, therefore it has no frames. The Sync channel uses 26 2 / 3 ms frames. All other forward and reverse code channels use 20 ms frames. (Acquired Pilot) Sync Channel

40 CDMA Technology OverviewFebruary, Page 2-40 Frames and Messages nLogical unit of transmission nFixed length  no need for length info nEach frame includes one or more overhead bits in addition to the “payload” of information bits  these overhead bits define the structure of the frame nLogical unit of information nVariable length  must include length info nA message is broken into small pieces that can fit in the payload portion of successive frames  one frame overhead bit could be used to identify the initial segment of a message FRAMEMESSAGE FRAME Sync Traffic MESSAGE FRAME

41 CDMA Technology OverviewFebruary, Page 2-41 Sync Channel Generation nThere are 32 bits (1200 bps x second) in one Sync Channel frame nThe Rate 1/2 convolutional encoder doubles the bit rate, and the resulting 0s and 1s are now called “code symbols”  there are 64 code symbols in a Sync Channel frame nThe repetition process doubles the rate again, and each repetition of a code symbol is now called a “modulation symbol”  there are 128 modulation symbols in a Sync Channel frame nFour copies of Walsh code #32 are used to spread each modulation symbol, resulting in a x256 rate increase; the resulting 0s and 1s are now called “chips”  there are 32,768 chips in a Sync Channel frame (1024 chips per original bit) Gain Control Baseband Filter Baseband Filter I PN Q PN Mcps Walsh Function bps Block Interleaving R = 1/2, K = 9 Convolutional Encoding & Repetition 4800 bps bits modulation symbols chips

42 CDMA Technology OverviewFebruary, Page 2-42 Sync Channel Block Interleaver (Input Matrix)

43 CDMA Technology OverviewFebruary, Page 2-43 Sync Channel Block Interleaver (Output Matrix) Let’s assume that a burst of noise affects these symbols

44 CDMA Technology OverviewFebruary, Page 2-44 Sync Channel Block Interleaver (Original Order Restored)

45 CDMA Technology OverviewFebruary, Page 2-45 Sync Channel Structure

46 CDMA Technology OverviewFebruary, Page 2-46 Sync Channel Message Body Format MSG_TYPE (‘ ’) P_REV MIN_PREV SID NID PILOT_PN LC_STATE SYS_TIME LP_SEC LTM_OFF DAYLT PRAT CDMA_FREQ Field Length (bits) Total : 170

47 CDMA Technology OverviewFebruary, Page 2-47 Sync Message Parameters Message Type (MSG_TYPE) – Identifies this message and determines its structure (set to the fixed value of ‘ ’) Protocol Revision Level (P_REV) – Shall be set to ‘ ’ Minimum Protocol Revision Level (MIN_P_REV) – 8-bit unsigned integer identifying the minimum protocol revision level required to operate on this system. Only personal stations that support revision numbers greater than or equal to this field can access the system System ID (SID) – 16-bit unsigned integer identifying the system Network ID (NID) – 16-bit unsigned integer identifying the network within the system (defined by the owner of the SID) Pilot PN Sequence Offset Index (PILOT_PN) – Set to the pilot PN offset for the base station (in units of 64 chips), assigned by the network planner Long Code State (LC_STATE) – Provides the mobile station with the base station long code state at the time given by the SYS_TIME field, generated dynamically System Time (SYS_TIME) – GPS system-wide time as 320 ms after the end of the last superframe containing any part of this message, minus the pilot PN offset, in units of 80 ms, generated dynamically

48 CDMA Technology OverviewFebruary, Page 2-48 Sync Channel Message Parameters (cont) Leap Seconds (LP_SEC) – Number of leap seconds that have occurred since the start of system time (January 6, 1980 at 00:00:00 hours) as given in the SYS_TIME field, generated dynamically Local Time Offset (LTM_OFF) – Two’s complement offset of local time from system time in units of 30 minutes, generated dynamically Current local = SYS_TIME – LP_SEC + LTM_OFF Daylight savings time indicator (DAYLT) – Determined by the network planner 1 if daylight savings in effect in this base station 0 otherwise Paging Channel Data Rate (PRAT) – The data rate of the paging channel for this system, determined by the network planner 00 if 9600 bps 01 if 4800 bps CDMA Frequency Assignment (CDMA_FREQ) – The CDMA channel number, in the specified CDMA band class, corresponding to the frequency assignment for the CDMA Channel containing a Primary Paging Channel, determined by the network planner

49 CDMA Technology OverviewFebruary, Page 2-49 Paging Channels

50 CDMA Technology OverviewFebruary, Page 2-50 Paging Channels nUp to seven paging channels can be supported on a single CDMA frequency assignment nChannel 1 (Walsh function 1) is the Primary Paging Channel nAdditional Paging Channels use Walsh functions 2 through 7 nUnused paging channels can be used as Forward Traffic Channels nTwo rates are supported: 9600 and 4800 bps (PRAT parameter in the Sync Channel Message) nA single 9600 bps Paging Channel can support about 180 pages per second Used by the base station to transmit system overhead information and mobile station-specific messages.

51 CDMA Technology OverviewFebruary, Page 2-51 Paging Channel Generation nThere are 192 [96] bits (9600 [4800] bps x second) in one Paging Channel frame nThe Rate 1/2 convolutional encoder doubles the bit rate, resulting” 384 [192] code symbols in a Paging Channel frame nIf the 4800 bps rate is used, the repetition process doubles the rate again, so that, at either rate, 384 modulation symbols per Paging Channel frame result n384 modulation symbols per frame times 50 frames per second = 19.2 Ksps nOne copy of Walsh code #1 (or #2,... or #7) is used to spread each modulation symbol. This results in a x64 rate increase to Mcps  that is, 24,576 chips per Paging Channel frame, or 128 [256] chips per original bit at 9600 [4800] bps Gain Control Baseband Filter Baseband Filter I PN Q PN Mcps Walsh Function bps 4800 bps Block Interleaving R = 1/2, K = 9 Convolutional Encoding & Repetition 19.2 Ksps 19.2 Ksps Decimator Long PN Code Generator Scrambling Paging Channel Address Mask Msps 19.2 Ksps

52 CDMA Technology OverviewFebruary, Page 2-52 Paging Channel Structure

53 CDMA Technology OverviewFebruary, Page 2-53 Lesson Review 1.What reference channel is used for acquisition, timing, and as a phase reference for coherent demodulation? Pilot channel 2.Lower data rates are transmitted at reduced power rates. True 3.The frame duration of what channel matches the period of repetition for of the short PN sequences? Sync channel 4.The sync channel is identified by what Walsh code function? 32 5.The pilot channel is identified by what Walsh code function? 0 6.Convolutional encoding occurs before block interleaving (on the forward channel). True

54 CDMA Technology OverviewFebruary, Page 2-54 Lesson Review 7.What is the purpose of the paging channel? To transmit system overhead information and mobile station specific messages. 8.What Walsh functions are reserved for the paging channels? 1 through 7 9.Unused paging channels can be used as what type of channel? Traffic channels 10.The effect of bursty errors are minimized by what function? Block interleaving and de-interleaving

55 CDMA Technology OverviewFebruary, Page 2-55


Download ppt "CDMA Technology OverviewFebruary, 2001 - Page 2-1 CDMA Technology Overview Lesson 3 - Forward Traffic Channels."

Similar presentations


Ads by Google