text:
Multirate Filter Banks
The preceding chapters have been concerned essentially with the short-time Fourier transform and all that goes with it. After developing the overlap-add point of view in Chapter 7, we developed the alternative (dual) filter-bank point of view in Chapter 8. This chapter is concerned more broadly with filter banks, whether they are implemented using the FFT or by some other means. In the end, however, we will come full circle and look at the properly configured STFT as an example of a perfect reconstruction (PR) filter bank as defined herein. Moreover, filter banks in practice are normally implemented using the FFT.
The subject of PR filter banks is normally considered only in the context of systems for audio compression, and they are normally critically sampled in both time and frequency. This book, on the other hand, belongs to a tiny minority which is not concerned with compression at all, but rather useful time-frequency decompositions for sound, and corresponding applications in music and digital audio effects.
Perhaps the most important new topic introduced in this chapter is the polyphase representation for filter banks. This is both an important analysis tool and a basis for efficient implementation. We will see that it can be seen as a generalization of the overlap-add approach discussed in Chapter 7.
The polyphase representation will make it straightforward to determine general conditions for perfect reconstruction in any filter bank. The STFT will provide some special cases, but there will be many more. In particular, the filter banks used in perceptual audio coding will be special cases as well. Polyphase analysis is used to derive classes of PR filter banks called ``paraunitary,'' ``cosine modulated,'' and ``pseudo-quadrature mirror'' filter banks, among others.
Another extension we will take up in this chapter is multirate systems. Multirate filter banks use different sampling rates in different channels, matched to different filter bandwidths. Multirate filter banks are very important in audio work because the filtering by the inner ear is similarly a variable resolution ``filter bank'' using wider passbands at higher frequencies. Finally, the related subject of wavelet filter banks is briefly introduced, and further reading is recommended.
Upsampling and Downsampling
For the DTFT, we prove in §2.3.11 of Chapter 2 the stretch theorem (repeat theorem) which relates upsampling (``stretch'') to spectral copies (``images'') in the DTFT context; this is the discrete-time counterpart of the scaling theorem for continuous-time Fourier transforms (§B.1.4). Also, §2.3.12 discusses the downsampling theorem (aliasing theorem) for DTFTs which relates downsampling to aliasing for discrete-time signals. In this section, we review the main results.
Upsampling (Stretch) Operator
Figure 10.1 shows the graphical symbol for a digital upsampler by the factor . To upsample by the integer factor , we simply insert zeros between and for all . In other words, the upsampler implements the stretch operator defined in §2.3.9:
In the frequency domain, we have, by the stretch (repeat) theorem for DTFTs:
Plugging in , we see that the spectrum on contracts by the factor , and images appear around the unit circle. For , this is depicted in Fig.10.2.
Downsampling (Decimation) Operator
Figure 10.3 shows the symbol for downsampling by the factor . The downsampler selects every th sample and discards the rest:
In the frequency domain, we have
Thus, the frequency axis is expanded by factor , wrapping times around the unit circle, adding to itself times. For , two partial spectra are summed, as indicated in Fig.10.4.
Using the common twiddle factor notation
Example: Downsampling by 2
As an example, when , , and (since )
Example: Upsampling by 2
When , , and
Filtering and Downsampling
We do not need out of every filter output samples due to the downsampler. To realize this savings, we can commute the downsampler through the adders inside the FIR filter to obtain the result shown in Fig.10.7. The multipliers are now running at times the sampling frequency of the input signal, . This reduces the computation requirements by a factor of . The downsampler outputs are called polyphase signals. This is a summed polyphase filter bank in which each ``subphase filter'' is a constant scale factor .
The summed polyphase signals of Fig.10.7 can be interpreted in the following ways:
- A ``serial to parallel conversion'' from a stream of scalar
samples to a sequence of length buffers every samples,
followed by a dot product of each buffer with .
- The overall system is equivalent to a
round-robin demultiplexor, with a different gain for
each output, followed by an -sample summer which adds the
``de-interleaved'' signals together:
The polyphase processing in the anti-aliasing filter of Fig.10.7 is as follows:
- The 0th subphase signal,
- Subphase signal 1,
- Subphase signal ,
Polyphase Filtering
In multirate signal processing, it is often fruitful to split a signal or filter into its polyphase components.
Two-Channel Case
Let's look first at the case . We begin with the filter
and are the polyphase components of the polyphase decomposition of for .
Now write as the sum of the odd and even terms:
As a simple example, consider
Thus, can be written as the sum of the following two polyphase components:
N-Channel Polyphase Decomposition
For the general case of arbitrary , the basic idea is to decompose into its periodically interleaved subsequences, as indicated schematically in Fig.10.9. The polyphase decomposition into channels is given by
For , we have the system diagram shown in Fig.10.11.
Type II Polyphase Decomposition
The preceding polyphase decomposition of into channels
In the ``Type II'', or reverse polyphase decomposition, the powers of progress in the opposite direction:
Filtering and Downsampling, Revisited
As another example of polyphase filtering, let's return to the example §10.1.3. This time, however, let the FIR lowpass filter h(n) be of length . The polyphase filters, , are each length . Recall that
Next, we commute the downsampler through the adders and through the upsampled polyphase filters, to obtain Fig.10.13.
Commuting the downsampler through the subphase filters to get is an example of a multirate noble identity.
Multirate Noble Identities
Figure 10.14 shows the two so-called ``noble identities'' for commuting downsamplers/upsamplers with ``sparse transfer functions'' which can be expressed a function of . Note that downsamplers and upsamplers are linear, time-varying operators. Therefore, operation order is very important. It is also important to note that adders or multipliers (any memoryless operators) can commute across downsamplers and upsamplers, as shown in Fig.10.15.
Critically Sampled Perfect Reconstruction Filter Banks
A Perfect Reconstruction (PR) filter bank is any filter bank whose reconstruction is the original signal, possibly delayed, and possibly scaled by a constant. In this context, critical sampling (also called ``maximal downsampling'') means that the downsampling factor is the same as the number of filter channels. For the STFT, this implies (with for Portnoff windows).
As derived in Chapter 7, the Short-Time Fourier Transform (STFT) is a PR filter bank whenever the Constant-OverLap-Add (COLA) condition is met by the analysis window and the hop size . However, only the rectangular window case with no zero-padding is critically sampled (OLA hop size = FBS downsampling factor = ). Advanced audio compression algorithms (``perceptual audio coding'') are based on critically sampled filter banks, for obvious reasons.
Important Point: We normally do not require critical sampling for audio analysis, digital audio effects, and music applications. We normally only need it when compression is a requirement.
Two-Channel Critically Sampled Filter Banks
Let's begin with a simple two-channel case, with lowpass analysis filter , highpass analysis filter , lowpass synthesis filter , and highpass synthesis filter . This system is diagrammed in Fig.10.16. The outputs of the two analysis filters are then
After substitutions and rearranging, the output is a filtered replica plus an aliasing term:
We require the second term (the aliasing term) to be zero for perfect reconstruction. This is arranged if we set
- The synthesis lowpass filter is the rotation by of the analysis highpass filter on the unit circle. If is highpass, cutting off at , then will be lowpass, cutting off at .
- The synthesis highpass filter is the negative of the -rotation of the analysis lowpass filter .
For perfect reconstruction, we additionally need
where is any constant times a linear-phase term corresponding to samples of delay.
Choosing and to cancel aliasing,
Perfect reconstruction thus also imposes a constraint on the analysis filters, which is of course true for any band-splitting filter bank.
Let denote . Then both constraints can be expressed in matrix form as
Amplitude-Complementary 2-Channel Filter Bank
Perhaps the most natural choice of analysis filters for our two-channel, critically sampled filter bank, is an amplitude-complementary lowpass/highpass pair, i.e.,
Plugging the COLA constraint into the Filtering and Aliasing Cancellation constraint (10.4) gives
Points to note:
- Even-indexed terms of the impulse response are unconstrained, since they subtract out in the constraint.
- For perfect reconstruction, exactly one odd-indexed term must be nonzero in the lowpass impulse response . The simplest choice is .
The above class of amplitude-complementary filters can be characterized in general as follows:
In summary, we see that an amplitude-complementary lowpass/highpass analysis filter pair yields perfect reconstruction (aliasing and filtering cancellation) when there is exactly one odd-indexed term in the impulse response of .
Unfortunately, the channel filters are so constrained in form that it is impossible to make a high quality lowpass/highpass pair. This happens because repeats twice around the unit circle. Since we assume real coefficients, the frequency response, is magnitude-symmetric about as well as . This is not good since we only have one degree of freedom, , with which we can break the symmetry to reduce the high-frequency gain and/or boost the low-frequency gain. This class of filters cannot be expected to give high quality lowpass or highpass behavior.
To achieve higher quality lowpass and highpass channel filters, we will need to relax the amplitude-complementary constraint (and/or filtering cancellation and/or aliasing cancellation) and find another approach.
Haar Example
Before we leave this case (amplitude-complementary, two-channel, critically sampled, perfect reconstruction filter banks), let's see what happens when is the simplest possible lowpass filter having unity dc gain, i.e.,
The polyphase components of are clearly
Thus, both the analysis and reconstruction filter banks are scalings of the familiar Haar filters (``sum and difference'' filters ).
The frequency responses are
which are plotted in Fig.10.17.
Polyphase Decomposition of Haar Example
Let's look at the polyphase representation for this example. Starting with the filter bank and its reconstruction (see Fig.10.18), the polyphase decomposition of is
The polyphase representation of the filter bank and its reconstruction can now be drawn as in Fig.10.19. Notice that the reconstruction filter bank is formally the transpose of the analysis filter bank [247]. A filter bank that is inverted by its own transpose is said to be an orthogonal filter bank, a subject to which we will return §10.3.8.
Commuting the downsamplers (using the noble identities from §10.2.5), we obtain Figure 10.20. Since , this is simply the OLA form of an STFT filter bank for , with , and rectangular window . That is, the DFT size, window length, and hop size are all 2, and both the DFT and its inverse are simply sum-and-difference operations.
Quadrature Mirror Filters (QMF)
The well studied subject of Quadrature Mirror Filters (QMF) is entered by imposing the following symmetry constraint on the analysis filters:
That is, the filter for channel 1 is constrained to be a -rotation of filter 0 along the unit circle. In the time domain, , i.e., all odd-index coefficients are negated. If is a lowpass filter cutting off near (as is typical), then is a complementary highpass filter. The exact cut-off frequency can be adjusted along with the roll-off rate to provide a maximally constant frequency-response sum.
Two-channel QMFs have been around since at least 1976 [51], and appear to be the first critically sampled perfect reconstruction filter banks. Historically, the term QMF applied only to two-channel filter banks having the QMF symmetry constraint (10.6). Today, the term ``QMF filter bank'' may refer to more general PR filter banks with any number of channels and not obeying (10.6) [266].
Combining the QMF symmetry constraint with the aliasing-cancellation constraints, given by
the perfect reconstruction requirement reduces to
Now, all four filters are determined by .
It is easy to show using the polyphase representation of (see [266]) that the only causal FIR QMF analysis filters yielding exact perfect reconstruction are two-tap FIR filters of the form
where and are constants, and and are integers. Therefore, only weak channel filters are available in the QMF case ( ), as we saw in the amplitude-complementary case. On the other hand, very high quality IIR solutions are possible. See [266, pp. 201-204] for details. In practice, approximate ``pseudo QMF'' filters are more practical, which only give approximate perfect reconstruction. We'll return to this topic in §10.7.1.
The Haar filters, which we saw gave perfect reconstruction in the amplitude-complementary case, are also examples of a QMF filter bank:
In this example, , and .
Linear Phase Quadrature Mirror Filter Banks
Linear phase filters delay all frequencies by equal amounts, and this is often a desirable property in audio and other applications. A filter phase response is linear in whenever its impulse response is symmetric, i.e.,
Conjugate Quadrature Filters (CQF)
A class of causal, FIR, two-channel, criticially sampled, exact perfect-reconstruction filter-banks is the set of so-called Conjugate Quadrature Filters (CQF). In the z-domain, the CQF relationships are
That is, for the lowpass channel, and the highpass channel filters are a modulation of their lowpass counterparts by . Again, all four analysis and synthesis filters are determined by the lowpass analysis filter . It can be shown that this is an orthogonal filter bank. The analysis filters and are power complementary, i.e.,
With the CQF constraints, Eq.(10.1) reduces to
Let , such that is a spectral factor of the half-band filter (i.e., is a nonnegative power response which is lowpass, cutting off near ). Then, (10.8) reduces to
The problem of the PR filter design has thus been reduced to designing one half-band filter, . It can be shown that any half-band filter can be written in the form . That is, all non-zero even-idexed values of are set to zero.
A simple design of an FIR half-band filter would be to window a sinc function:
where is any suitable window, such as the Kaiser window.
Note that as a result of (10.8), the CQF filters are power complementary. That is, they satisfy:
- orthogonal
- linear phase
By relaxing ``orthogonality'' to ``biorthogonality'', it becomes possible to obtain FIR linear phase filters in a critically sampled, perfect reconstruction filter bank. (See §10.9.)
Orthogonal Two-Channel Filter Banks
Recall the reconstruction equation for the two-channel, critically sampled, perfect-reconstruction filter-bank:
This can be written in matrix form as
It turns out orthogonal filter banks give perfect reconstruction filter banks for any number of channels. Orthogonal filter banks are also called paraunitary filter banks, which we'll study in polyphase form in §10.5 below. The AC matrix is paraunitary if and only if the polyphase matrix (defined in the next section) is paraunitary [266].
Perfect Reconstruction Filter Banks
We now consider filter banks with an arbitrary number of channels, and ask under what conditions do we obtain a perfect reconstruction filter bank? Polyphase analysis will give us the answer readily. Let's begin with the -channel filter bank in Fig.10.21. The downsampling factor is . For critical sampling, we set .
The next step is to expand each analysis filter into its -channel ``Type 1'' polyphase representation:
Similarly, expand the synthesis filters in a Type II polyphase decomposition:
The polyphase representation can now be depicted as shown in Fig.10.22. When , commuting the up/downsamplers gives the result shown in Fig.10.23. We call the polyphase matrix.
As we will show below, the above simplification can be carried out more generally whenever divides (e.g., ). In these cases becomes and becomes .
Simple Examples of Perfect Reconstruction
If we can arrange to have
Thus, when and , we have a simple parallelizer/serializer, which is perfect-reconstruction by inspection: Referring to Fig.10.24, think of the input samples as ``filling'' a length delay line over sample clocks. At time 0, the downsamplers and upsamplers ``fire'', transferring (and zeros) from the delay line to the output delay chain, summing with zeros. Over the next clocks, makes its way toward the output, and zeros fill in behind it in the output delay chain. Simultaneously, the input buffer is being filled with samples of . At time , makes it to the output. At time , the downsamplers ``fire'' again, transferring a length ``buffer'' [ ] to the upsamplers. On the same clock pulse, the upsamplers also ``fire'', transferring samples to the output delay chain. The bottom-most sample [ ] goes out immediately at time . Over the next sample clocks, the length output buffer will be ``drained'' and refilled by zeros. Simultaneously, the input buffer will be replaced by new samples of . At time , the downsamplers and upsamplers ``fire'', and the process goes on, repeating with period . The output of the -way parellelizer/serializer is therefore
Sliding Polyphase Filter Bank
When , there is no downsampling or upsampling, and the system further reduces to the case shown in Fig.10.25. Working backward along the output delay chain, the output sum can be written as
Thus, when , the output is
Hopping Polyphase Filter Bank
When and divides , we have, by a similar analysis,
Sufficient Condition for Perfect Reconstruction
Above, we found that, for any integer which divides , a sufficient condition for perfect reconstruction is
where is any constant and is any nonnegative integer. In this case, the output signal is
Thus, given any polyphase matrix , we can attempt to compute : If it is stable, we can use it to build a perfect-reconstruction filter bank. However, if is FIR, will typically be IIR. In §10.5 below, we will look at paraunitary filter banks, for which is FIR and paraunitary whenever is.
Necessary and Sufficient Conditions for Perfect Reconstruction
It can be shown [266] that the most general conditions for perfect reconstruction are that
Note that the more general form of above can be regarded as a (non-unique) square root of a vector unit delay, since
Polyphase View of the STFT
As a familiar special case, set
The channel analysis and synthesis filters are, respectively,
where , and
Looking again at the polyphase representation of the -channel filter bank with hop size , , , dividing , we have the system shown in Fig.10.26. Following the same analysis as in §10.4.1 leads to the following conclusion:
Our analysis showed that the STFT using a rectangular window is a perfect reconstruction filter bank for all integer hop sizes in the set . The same type of analysis can be applied to the STFT using the other windows we've studied, including Portnoff windows.
Example: Polyphase Analysis of the STFT with 50% Overlap, Zero-Padding, and a Non-Rectangular Window
Figure 10.27 illustrates how a window and a hop size other than can be introduced into the polyphase representation of the STFT. The constant-overlap-add of the window is implemented in the synthesis delay chain (which is technically the transpose of a tapped delay line). The downsampling factor and window must be selected together to give constant overlap-add, independent of the choice of polyphase matrices and (shown here as the and ).
Example: Polyphase Analysis of the Weighted Overlap Add Case: 50% Overlap, Zero-Padding, and a Non-Rectangular Window
We may convert the previous example to a weighted overlap-add (WOLA) (§7.6) filter bank by replacing each by and introducing these gains also between the and upsamplers:
Paraunitary Filter Banks
Paraunitary filter banks form an interesting subset of perfect reconstruction (PR) filter banks. We saw above that we get a PR filter bank whenever the synthesis polyphase matrix times the analysis polyphase matrix is the identity matrix , i.e., when
Paraconjugation is the generalization of the complex conjugate transpose operation from the unit circle to the entire plane. A paraunitary filter bank is therefore a generalization of an orthogonal filter bank. Recall that an orthogonal filter bank is one in which is an orthogonal (or unitary) matrix, to within a constant scale factor, and is its transpose (or Hermitian transpose).
Lossless Filters
To motivate the idea of paraunitary filters, let's first review some properties of lossless filters, progressing from the simplest cases up to paraunitary filter banks:
- A linear, time-invariant filter is said to be
lossless (or
allpass) if it preserves signal
energy. That is, if the input signal is , and the output
signal is
, then we have
- It is straightforward to show that losslessness implies
- The paraconjugate of a transfer function may be defined as the
analytic continuation of the complex conjugate from the unit circle to
the whole plane:
We refrain from conjugating in the definition of the paraconjugate becase is not analytic in the complex-variables sense. Instead, we invert , which is analytic, and which reduces to complex conjugation on the unit circle.
The paraconjugate may be used to characterize allpass filters as follows:
- A causal, stable, filter is allpass if and only if
To generalize lossless filters to the multi-input, multi-output (MIMO) case, we must generalize conjugation to MIMO transfer function matrices:
- A transfer function matrix
said to be lossless
if it is stable and its frequency-response matrix
unitary. That is,
- Note that
is a matrix
product of a times a matrix. If , then
the rank must be deficient. Therefore, we must have .
(There must be at least as many outputs as there are inputs, but it's
ok to have extra outputs.)
- A lossless transfer function matrix
is paraunitary,
Lossless Filter Examples
- The simplest lossless filter is a unit-modulus gain
- A lossless FIR filter can only consist of a single nonzero tap:
- Every finite-order, single-input, single-output (SISO),
lossless IIR filter (recursive allpass filter) can be written as
- The normalized DFT matrix is an order zero
paraunitary transformation. This is because the normalized DFT
, where
, is a
unitary matrix:
Properties of Paraunitary Systems
Paraunitary systems are essentially multi-input, multi-output (MIMO) allpass filters. Let denote the matrix transfer function of a paraunitary system. In the square case (), the matrix determinant, , is an allpass filter. Therefore, if a square contains FIR elements, its determinant is a simple delay: for some integer .
Properties of Paraunitary Filter Banks
An -channel analysis filter bank can be viewed as an MIMO filter:
We can note the following properties of paraunitary filter banks:
- The synthesis filter bank is simply the paraconjugate of the
analysis filter bank:
- The channel filters are power complementary:
- When
is FIR, the corresponding synthesis filter matrix
is also FIR.
- When
is FIR, each synthesis filter,
, is simply the
of its corresponding
analysis filter
- FIR analysis and synthesis filters in paraunitary filter banks
have the same amplitude response. This follows from the fact
, i.e., flipping an FIR filter
impulse response conjugates the frequency response, which does
not affect its amplitude response
- The polyphase matrix
for any FIR paraunitary perfect
reconstruction filter bank can be written as the product of a
paraunitary and a unimodular matrix, where a
unimodular polynomial matrix
is any square
polynomial matrix having a constant nonzero
determinant. For example,
Paraunitary Examples
Consider the Haar filter bank discussed previously, for which
For more about paraunitary filter banks, see Chapter 6 of [266].
Filter Banks Equivalent to STFTs
We now turn to various practical examples of perfect reconstruction filter banks, with emphasis on those using the FFT in their implementation (i.e., various STFT filter banks).
Figure 10.29 illustrates a generic filter bank with channels, much like we derived in §8.3. The analysis filters , are bandpass filters derived from a lowpass prototype by modulation (e.g., ), as shown in the right portion of the figure. The channel signals are given by the convolution of the input signal with the th channel impulse response:
From Chapter 8, we recognize this expression as the sliding-window STFT, where is the flip of a sliding window ``centered'' at time , and is the th DFT bin at time . We also know from that discussion that remodulating the DFT channel outputs and summing gives perfect reconstruction of whenever is Nyquist(N) (the defining condition for Portnoff windows [202] in §8.7.
Suppose the analysis window (flip of the baseband-filter impulse response ) is length . Then in the context of overlap-add processors (Chapter 7), is a Portnoff window, and implementing the window with a length FFT requires that the windowed data frame be time-aliased down to length prior to taking a length FFT (see §8.7). We can obtain this same result via polyphase analysis, as elaborated in the next section.
Polyphase Analysis of Portnoff STFT
Consider the th filter-bank channel filter
If is a good th-band lowpass, the subband signals are bandlimited to a region of width . As a result, there is negligible aliasing when we downsample each of the subbands by . Commuting the downsamplers to get an efficient implementation gives Fig.10.30.
First note that if for all , the system of Fig.10.30 reduces to a rectangularly windowed STFT in which the window length equals the DFT length . The downsamplers ``hold off'' the DFT until the length 3 delay line fills with new input samples, then it ``fires'' to produce a spectral frame. A new spectral frame is produced after every third sample of input data is received.
In the more general case in which are nontrivial filters, such as , for example, they can be seen to compute the equivalent of a time aliased windowed input frame, such as . This follows because the filters operate on the downsampled input stream, so that the filter coefficients operate on signal samples separated by samples. The linear combination of these samples by the filter implements the time-aliased windowed data frame in a Portnoff-windowed overlap-add STFT. Taken together, the polyphase filters compute the appropriately time-aliased data frame windowed by the .
In the overlap-add interpretation of Fig.10.30, the window is hopped by samples. While this was the entire window length in the rectangular window case (), it is only a portion of the effective frame length when the analysis filters have order 1 or greater.
MPEG Filter Banks
This section provides some highlights of the history of filter banks used for perceptual audio coding (MPEG audio). For a more complete introduction and discussion of MPEG filter banks, see [16].
Pseudo-QMF Cosine Modulation Filter Bank
Section 10.3.5 introduced two-channel quadrature mirror filter banks (QMF). We found that the quadrature mirror constraint on the analysis filters
Quadrature Mirror Filters (QMF), defined in §10.3.5, provide a particular class of perfect reconstruction filter banks. The Pseudo-QMF (PQMF) filter bank is a ``near perfect reconstruction'' filter bank in which aliasing cancellation occurs only between adjacent bands [183,266]. The PQMF filters commonly used in perceptual audio coders employ bandpass filters with stop-band attenuation near dB, so the neglected bands (which alias freely) are not significant. The design procedure is as follows:
- Design a lowpass prototype window, , with length ,
- The lowpass design is
constrained to give aliasing cancellation in neighboring subbands:
- The filter bank analysis filters are cosine modulations of
- Since it is an orthogonal filter bank by construction,
the synthesis filters are simply the time reverse of the analysis filters:
Perfect Reconstruction Cosine Modulated Filter Banks
By changing the phases , the pseudo-QMF filter bank can yield perfect reconstruction:
If , then this is the oddly-stacked Princen-Bradley filter bank, and the analysis filters are related by cosine modulations of the lowpass prototype:
MPEG Layer III Filter Bank
In MPEG 1& 2, Layer III (the popular ``MP3 format''),
The original MPEG 1&2, Layers I and II, based on the MUSICAM coder, contained only 32 subbands (each band approximately 650 Hz wide, implemented using a length 512 lowpass-prototype window, lapped (``time aliased'') by factor of 512/32 = 8, thus yielding 32 real bands with 96 dB of stop-band rejection, and having a hop size of 32 samples) [140, §4.1.1]. It was found, however, that a higher coding gain was obtained using a finer frequency resolution. As a result, the MPEG 1&2 Layer III coder (based on the ASPEC coder from AT&T), appended a Princen-Bradley filter bank [203] having 6 to 18 subbands to the output of each subband of the 32-channel PQMF cosine-modulated analysis filter bank [140, §4.1.2]. The number of sub-bands and window shape were chosen to be signal-dependent as follows:
- Transients use subbands, corresponding to relatively high time resolution and low frequency resolution.
- Steady-state tones use subbands, corresponding to higher frequency resolution and lower time resolution relative to transients.11.1
- The encoder generates a function called the perceptual entropy (PE) which tells the coder when to switch resolutions.
The MPEG AAC coder is generally regarded as providing nearly twice the compression ratio of ``MP3'' (MPEG 1-2 Layer III) coding at the same quality level.11.2 MPEG AAC introduced a new MDCT filter bank that adaptively switched between 128 and 1024 bands (length 256 and 2048 FFT windows, using 50% overlap) [140, §4.1.6]. The nearly doubled number of frequency bands available for coding steady-state signal intervals contributed much to the increased coding gain of AAC over MP3. The 128-1024 MDCT filter bank in AAC is also considerably simpler than the hierarchical MP3 filter bank, without requiring the ``cross-talk aliasing reduction'' needed by the PQMF/MDCT hierarchical filter bank of MP3 [140, §4.1.6].
The MPEG-4 audio compression standard (there was no MPEG-3), included a new transform coder based on the AAC filter bank [140, §4.1.7].
See, e.g., [16] for much more on MPEG coders and related topics. Chapter 4 of the dissertation of Scott Levine [140] contains an excellent summary of MPEG, Sony ATRAC, and Dolby AC-n coders up to 1998.
Review of STFT Filterbanks
Let's take a look at some of the STFT processors we've seen before, now viewed as a polyphase filter bank.
Since they are all based on the FFT, they are all efficient, but most are oversampled as ``filter banks'' go. Some oversampling is usually preferred outside of a compression context.
The STFT also computes a uniform filter bank, but it can be used as the basis for a variety of non-uniform filter banks giving frequency resolution closer to that of hearing.
STFT, Rectangular Window, No Overlap
- Perfect reconstruction
- Critically sampled (aliasing cancellation)
- Poor channel isolation (13dB)
- Not robust to filter-bank modifications11.3
STFT, Rectangular Window, 50% Overlap
- Perfect reconstruction
- Oversampled by 2 (aliasing cancellation)
- Poor channel isolation (13dB)
- Not robust to filter-bank modifications, but better
STFT, Triangular Window, 50% Overlap
- Perfect reconstruction
- Oversampled by 2
- Better channel isolation (26dB)
- Moderately robust to filter-bank modifications
STFT, Hamming Window, 75% Overlap
- Perfect reconstruction
- Oversampled by 4
- Aliasing from sidelobes only
- Good channel isolation (42dB)
- Moderately robust to filter-bank modifications
STFT, Kaiser Window, Beta=10, 90 % Overlap
- Approximate perfect reconstruction (sidelobes controlled by )
- Oversampled by
- Excellent channel isolation (80 dB)
- Very robust to filter-bank modifications
- Aliasing from sidelobes only
Sliding FFT (Maximum Overlap), Any Window, Zero-Padded by 5
- Perfect reconstruction (always true when hop-size = 1)
- Oversampled by :
- = window length [time-domain oversampling factor]
- 5 = zero-padding factor [frequency-domain oversampling factor]
- Excellent channel isolation (set by window sidelobes)
- Extremely robust to filter-bank modifications
- No aliasing to cancel
Wavelet Filter Banks
We will now approach filter-bank derivation from a ``Hilbert space'' (geometric) point of view. This is the most natural setting for the study of wavelet filter banks [270,266].
Geometric Signal Theory
In general, signals can be expanded as a linear combination
of orthonormal basis signals [248]. In the
discrete-time case, this can be expressed as
where the coefficient of projection of onto is given by
A set of signals is said to be a biorthogonal basis set if any signal can be represented as
The following examples illustrate the Hilbert space point of view for various familiar cases of the Fourier transform and STFT. A more detailed introduction appears in Book I [248].
Natural Basis
The natural basis for a discrete-time signal is the set of shifted impulses:
This expansion was used in Book II [247] to derive the impulse-response representation of an arbitrary linear, time-invariant filter.
Normalized DFT Basis for
The Normalized Discrete Fourier Transform (NDFT) (introduced in Book I [248]) projects the signal onto discrete-time sinusoids of length , where the sinusoids are normalized to have unit norm:
and the expansion of in terms of the NDFT basis set is
for .
Normalized Fourier Transform Basis
The Fourier transform projects a continuous-time signal onto an infinite set of continuous-time complex sinusoids , for . These sinusoids all have infinite norm, but a simple normalization by can be chosen so that the inverse Fourier transform has the desired form of a superposition of projections:
Normalized DTFT Basis
The Discrete Time Fourier Transform (DTFT) is similar to the Fourier transform case:
Normalized STFT Basis
The Short Time Fourier Transform (STFT) is defined as a time-ordered sequence of DTFTs, and implemented in practice as a sequence of FFTs (see §6.1). Thus, the signal basis functions are naturally defined as the DFT-sinusoids multiplied by time-shifted windows, suitably normalized for unit norm:
When successive windows overlap (i.e., the hop size is less than the window length ), the basis functions are not orgthogonal. In this case, we may say that the basis set is overcomplete.
The basis signals are orthonormal when and the rectangular window is used (). That is, two rectangularly windowed DFT sinusoids are orthogonal when either the frequency bin-numbers or the time frame-numbers differ, provided that the window length equals the number of DFT frequencies (no zero padding). In other words, we obtain an orthogonal basis set in the STFT when the hop size, window length, and DFT length are all equal (in which case the rectangular window must be used to retain the perfect-reconstruction property). In this case, we can write
so that the signal expansion can be interpreted as
In the overcomplete case, we get a special case of weighted
overlap-add (§7.6):
Continuous Wavelet Transform
In the present (Hilbert space) setting, we can now easily define the continuous wavelet transform in terms of its signal basis set:
The parameter is called a scale parameter (analogous to frequency). The normalization by maintains energy invariance as a function of scale. We call the wavelet coefficient at scale and time . The kernel of the wavelet transform is called the mother wavelet, and it typically has a bandpass spectrum. A qualitative example is shown in Fig.10.32.
The so-called admissibility condition for a mother wavelet is
The Morlet wavelet is simply a Gaussian-windowed complex sinusoid:
The scale factor is chosen so that . The center frequency is typically chosen so that second peak is half of first:
Since the scale parameter of a wavelet transform is analogous to frequency in a Fourier transform, a wavelet transform display is often called a scalogram, in analogy with an STFT ``spectrogram'' (discussed in §6.2).
When the mother wavelet can be interpreted as a windowed sinusoid (such as the Morlet wavelet), the wavelet transform can be interpreted as a constant-Q Fourier transform.11.4Before the theory of wavelets, constant-Q Fourier transforms (such as obtained from a classic third-octave filter bank) were not easy to invert, because the basis signals were not orthogonal. See Appendix F for related discussion.
Discrete Wavelet Transform
The discrete wavelet transform is a discrete-time,
discrete-frequency counterpart of the continuous wavelet transform of
the previous section:
where and range over the integers, and is the mother wavelet, interpreted here as a (continuous) filter impulse response.
The inverse transform is, as always, the signal expansion in terms of the orthonormal basis set:
We can show that discrete wavelet transforms are constant-Q by defining the center frequency of the th basis signal as the geometric mean of its bandlimits and , i.e.,
Discrete Wavelet Filterbank
In a discrete wavelet filterbank, each basis signal is
interpreted as the impulse response of a bandpass filter in a
constant-Q filter bank:
Thus, the th channel-filter is obtained by frequency-scaling (and normalizing for unit energy) the zeroth channel filter . The frequency scale-factor is of course equal to the inverse of the time-scale factor.
Recall that in the STFT, channel filter is a shift of the zeroth channel-filter (which corresponds to ``cosine modulation'' in the time domain).
As the channel-number increases, the channel impulse response lengthens by the factor ., while the pass-band of its frequency-response narrows by the inverse factor .
Figure 10.33 shows a block diagram of the discrete wavelet filter bank for (the ``dyadic'' or ``octave filter-bank'' case), and Fig.10.34 shows its time-frequency tiling as compared to that of the STFT. The synthesis filters may be used to make a biorthogonal filter bank. If the are orthonormal, then .
Dyadic Filter Banks
A dyadic filter bank is any octave filter bank,11.5 as illustrated qualitatively in Figure 10.35. Note that is the top-octave bandpass filter, is the bandpass filter for next octave down, is the octave bandpass below that, and so on. The optional scale factors result in the same sum-of-squares for each channel-filter impulse response.
A dyadic filter bank may be derived from the discrete wavelet filter bank by setting and relaxing the exact orthonormality requirement on the channel-filter impulse responses. If they do happen to be orthonormal, we may call it a dyadic wavelet filter bank.
For a dyadic filter bank, the center-frequency of the th channel-filter impulse response can be defined as
Dyadic Filter Bank Design
Design of dyadic filter banks using the window method for FIR digital filter design (introduced in §E.4) is described in, e.g., [214, §6.2.3b].
A ``very easy'' method suggested in [266, §11.6] is to design a two-channel paraunitary QMF bank, and repeat recursively to split the lower-half of the spectrum down to some desired depth.
Generalized STFT
A generalized STFT may be defined by [266]
This filter bank and its reconstruction are diagrammed in Fig.10.36.
The analysis filter is typically complex bandpass (as in the STFT case). The integers give the downsampling factor for the output of the th channel filter: For critical sampling without aliasing, we set . The impulse response of synthesis filter can be regarded as the th basis signal in the reconstruction. If the are orthonormal, then we have . More generally, form a biorthogonal basis.
Further Reading
In addition to [266] which was frequently cited in this chapter, [270], [151], and [16] are excellent references (books). The original paper by Princen and Bradley on time-domain aliasing cancellation is [203]. The Princen-Bradley filter bank is a special case of Lapped Orthogonal Transforms (LOT) [151] for which the overlap is 50%. It is also an orthogonal perfect reconstruction filter bank with first-order FIR polyphase filters. Other papers related to perceptual audio coding include [23,264,53,152,184,17,24,18,190,16].
Next Section:
Summary and Conclusions
Previous Section:
Applications of the STFT


text:
How To Get Your Image In Google's Result Pages
If you're a seasoned SEO, you've probably heard about one of Google's latest rich snippets – the "author image" snippet. Well, I finally got mine. And since there's still a dust-up on how to get it, hopefully these super simple instructions will work for you.
To see it in action, you can Google the term "free seo audit". You should see me in position 4.
The image appears to have had a nice impact. Not on rankings or impressions, but click-throughs. And that's what I would expect. Typically in my days of ecommerce, the reviews and price rich snippet showed a much larger interaction rate than the listings without it. Why wouldn't it be the same for a picture? It helps the listing stand out in a more profound way, and draws the eye to the title and meta description. Thus, a higher likelihood for a click.
From what I noticed, I got this image on February 4th. I was lucky enough to catch it on the day it went live.
Traffic for the first position, non-image listing was an average of about 15-20 visits a week. Now, in my two weeks since having the image, I'm averaging 30-40. I'm assuming "free seo audit" didn't become a new trending topic in the last two weeks. I believe it was the image, and I'll continue to monitor. I'll let you know if anything changes.
How Do I Get The Author Image?
Here are the exact steps I took to implement Google's authorship markup. I've seen a few pages that were either wrong or overly complicated it. All you need is an "about me" page on your blog and a Google Plus profile. That's right, folks. It's a perk to buying into Google's "Facebook Killer."
- Create a link from your Google Plus profile to the "About Me" author page on your blog (Google will automatically add the proper "me" microformat to the link). For example below, I created this link which goes to my author page. This page has all sorts of information on me as a human being on the internet.
- Next, I created a link from that about me page to my Google+ profile (I used a graphic, but it doesn't need to be). Important: The link must have the microformat rel="author". So for example, in my case the code for that link is:
- Now, this is the part I've seen wrong from other sites. As you start to write for your blog, you need to add rel="author" to your name on each post. Nowhere else. I use WordPress, and was able to do it in the single-post.php template, by the variable that dynamically pulls in my name. Unfortunately if you're using another blogging platform, you'll need to do a little homework on the web to see how to get rel="author" in the link for your name. Maybe you'll be lucky and your blog already does it by default. Update: 6 8 2012 – Yoast says Google reads it in the <head> tag, if that makes it easier to add for you.
Once the changes were made, it took about 3 weeks. Your time may change. I'm not even positive Google will show these icons for everyone, or every post (as I've heard some people say). I'm not particularly active on Google Plus, so I would venture to guess that it's not required to be a power user (as some people have suggested).
Updated fun fact 6-8-2012: At first, if you had several pages rank at once for a keyword, you'd get your mug on every one of the listings. Looks like Google just updated this – now it appears your image will only show for your first listing.
Top 10 Lists Must Die
I've given up reading Top 10 lists.
We're an industry that taught the world "content is king," and we certainly practice what we preach. We've also read a million times that a successful way to draw a reader or search engine spiders is to use something kitschy like a top 10 list (or top 20, or top 30). Clearly it's worked for Billboard and Mashable as entertainment. I've certainly been swept up in the hype and recommended it to my clients more than once. I actually have a "Top X" list somewhere on this blog. But now I find myself ignoring tweets after tweets promoting another "brilliant" top 10 list. I've seen a million white papers in the last year that have promoted the "Top 10 Best Landing Page Tips," or "Best Social Media Tips," "Best SEO Tips," etc. I've also seen the same posts again just using different words, almost as if it was spit out of The Best Spinner.
We're talking about online marketing. It's bigger than 10 – it's bigger than a million – and these fluffy pieces tend to make people forget it's still only as applicable to your marketing campaign as it is relative.
Today I broke my rule. I just read a Top 10 from a popular search company, put out as a downloadable white paper (I know it's a lead generation trick – I'm expecting to be ignoring a call any moment now). This document was clearly written to be generic "industry" fodder.
On this list, number four definitively suggested the best marketing landing page is bare-bones, one font page, with very little content, functionality, or design. Sure, you've seen that before, but you've also seen others say the complete opposite – that a long, content rich page is the way to go.
In our industry, for every expert opinion, there's an expert opposing-opinion. But not everyone takes it with a grain of salt.
Both of these design "tips" are general, and don't know a thing about your vertical, customer or visitor habits, business goals, products, brand history, or your own company experience. To me, that makes a lot of Top 10 lists nothing more than noisy fluff.
For example, are you running an inbound marketing campaign, where your top keywords are for a term or concept that the public isn't really familiar with? Do you need to be brief because your searchers are qualified, or do you need to provide options or funnels to support further information gathering? In this case I'd have to think about what kind of landing page I'd want to create, but I'm fairly sure I'd be misled if I blindly followed this particular Top 10 list.
Personally, I think these lists need context, and need to be way more granular. Granted, they wouldn't have as sexy a headline or as wide an audience appeal, but they'd be targeted and, well, useful. They'd actually provide content that is capable of moving the reader forward in their own goals. If these lists exist, then I'd be all for them, but right now they're as real as unicorns. Maybe they're just off my radar. My Twitter stream may just be too polluted with fluff.
Search Engine SPAM With Facebook (Round 2)
In early November Google promoted their ability to execute AJAX/JS to index some dynamic comments. A few years ago, Jed Singer and I did some digging to see just how well Facebook pages were crawled and indexed. The answer – not very well, but Facebook still enjoyed decent rankings for profile and brand pages alike, despite spidering issues. Our review suggested a heavy dose of domain authority and backlinking signals, and not necessarily on-page relevance.
Then, suddenly, Facebook pages started to show up less and less (somewhere around the time "Google Me" was the rumor) except for specific people and brand searches. I assumed a manual algorithm tweak to clean up the search engine result pages, and make general Facebook pages less of a player. The same kind you saw with Digg pages, Amazon subdomains, etc.
But when I read that Google is getting better at interpreting Facebook comments, I assumed they also got better at reading all Facebook's public tabbed content. Still, I assumed they wouldn't change their algorithm suppressing Facebook rankings.
This is one of several examples I found. It worried me about my long-tail for my websites, and sure enough, Facebook SERP SPAM there too. I don't know if Google took their eye of their algorithm and made some changes without considering their prior intention, or if this is a real decision (can't imagine why, though). I expect it won't last long.
In the meantime, black hats will go at it, and white hats (and shoppers) will need to be annoyed by it. What a thoughtful holiday gift, Google!
An Open Letter To The SEO Client
If you work in an agency or run your own consulting business, I know you've been frustrated. So put your tongue in your cheek, and have fun venting with me.
By the way, this post was admittedly written with a few past clients in mind, in a previous life. I've since put myself in a position to only work with clients that match with my ideals. In consulting, that's how it should be. I highly recommend happy relationships. It makes SEO fun.
Dear client,
Chill out. You hired us to improve your natural search traffic, your brand recognition, and your reputation. You did your homework and made us prove our value. The proposal and RFP was brutal. But we passed. Now have faith, and listen. That's right. Listen. Learn. We're trying to help you. We picked you as a client, just like you picked us as a vendor.
In over a decade of SEO, I've had many different kinds of clients. The big brands you'd see in a mall or shopping center, to small shops that serve the most niche audience. From hands-on CMOs to passive, uninterested specialists. I've done my best to teach all of you the ways of Google, and to do right by you. Admittedly, I've made mistakes – but I learned. I've also learned a lot while studying your industry, but that took time. I never told you SEO would give you instant results. You need patience, and you need to give us some space. I had nothing to do with you setting unreal expectations with your boss – I was very open with you in the beginning.
I also said that to achieve your goals, we would need the full support of your organization. You need to help us help you. If you're the bottleneck, then we're both going to have pains in the morning. We'll both start dreading our SEO calls. And we'll start getting snippy with each other.
Granted, we're in an agency, and ultimately we have to give you what you ask for. But if you give us a little slack, we'll keep you from having to worry about SEO.
I just re-read what I wrote. Maybe I've been a little snarky. I really do love you, and I really want to make this relationship work. So maybe we can we try again? Everything will be great – as long as you never pull this shit again.
PS: Oh, and a few extra personal notes:
Don't ever ask me again what your ROI is from a title tag. I don't care how big an apparel brand you are. You're obviously not listening.
Don't ever ask me why you're not getting traffic when you don't take my deliverables and implement them. I don't care how big a television network you are. You're not taking this seriously.
And please stop asking me for giant analysis deliverables if you don't have any use for the data. I think it's time we end this relationship… but we can stay friends.
Quality Deserves Freshness, The Sequel
I remember the Quality Deserves Freshness algorithm over a year ago. This update allowed fresher content to have a better chance at ranking. For example, if you're looking for information on SMX East, you'd want to be served the 2011 conference… not the 2010 conference.
Well sometimes it worked, sometimes it didn't. Like many people, we were directed to the 2010 SMX East page in September.
It makes sense that Google would reintroduce this now following so many Panda updates. It says to white hats, "go forth and write more. We appreciate it." It says to black hats, "don't quickly write crap as a spam tactic. Panda will get you." Whether that's true or not, I'm sure the timing of this update was by design.
The potential issue with this in my mind is how domain authority may play into it. Is this a factor that will weigh higher with big websites (high domain authority), of which usually has a higher budget to be able to hire writers to crank out new content more regularly? I still like the old feeling of natural search being a ground where small guys are on a level playing field with the rich dudes.
When Google Gives Us Lemons…
Both Avinash Kaushik and Jeff Jarvis tell us that we don't own our sites. In fact, our visitors / customers don't even own our site anymore. Google owns our site.
Need proof? Ask your mom to name her favorite store in the mall. Then ask her to their website online. If she doesn't use the search bar in her browser or go directly to Google.com, I'll give you a dollar.
We know people are creatures of habit. Search engines have become the main touch point in their online day-to-day. For many people, if you restrict their access to a search engine, they'll fall apart like I do when I'm given an O'doul's at a party. Why didn't your mother try to type the website directly into the URL bar?
On the bright side, when 50% of your natural search visits are from variations of your brand name or URL spelling, at least your numbers look good – that may give you some job security if you spin it right.
But Google is a pain in the ass because with all this ownership and inside data, they don't really play well with others. They don't share. Take WMT for example – it's very thin data in the grand scheme of things. It's like giving a free sample, but never letting you buy the product.
And what's with the rich snippets? I give you the content, and you post it in your result pages? I want people to click through. How do I know they're not clicking through? Because I'm not even clicking through on my own site. I've been sucked into the Google vortex.
Don't get me started on feeds, schema.org, or Google Places.
Granted, there's a lot to gripe about. When I go to a search convention, I see I'm not alone. I never skip a panel with a Googler – it's always a fun beatdown. But the same thing happens every time. By the end of the scolding, the Googler – be it an engineer or product manager, essentially commits social suicide, as he throws his hands in the air with the answer, "I don't know." As hard as he tries, he can't answer all the questions he gets. It's not always because he's not allowed to, but I think it's because he doesn't know how to.
I think there are ghosts in the machine. I envision Dali painting with a thousands of gears all clumped together. Turn one, there's no telling how many others will connect. At this point, I don't think Google knows. They can try to reshape the monstrosity, but at this point the algorithm has to be pretty insurmountable. Add on top of this, there are several other algorithms running different Google properties that are probably comparably unruly.
But let's face it. Google created this mess, and search engines created the SEO – both the good and the bad ones. But despite the hat you wear, we're all dealing with our own KPI's against this mutant algorithm. So are our competitors. Trial and error, testing, and patience are the key to building your experience. When you put together a marketing strategy, you're typically trying to overcome an obstacle. You're putting together a plan to move past the immovable objects. Google is an immovable object, so the SEO needs to strategize with that in mind. That's far different than what many SEOs do by trying to defeat or complain about it. Since goal setting is the key to proper strategy, the SEO (and the employer of the SEO) need to plan touchpoints that accept these realities.
Things to ask yourself when choosing your tactics:
- Why do I think this tactic will work? (What experience or data do you have)
- What will this affect if it does not work? (Will your scheduled touchpoints be affected)
- What is this tactic's plan B? (To stay on schedule, what is your alternative tactic and bandwidth)
- What are the points where we measure and analyze? (When do you take a break and make sure you're on track)
- When is it time to abandon the strategy? (Sometimes your best plans fall flat – be willing to accept that)
With this clarity comes opportunity. Again, many of our competitors are dealing with Google head on, and trying to plow through the algorithm instead of dance with it. They're probably granted the same amount of time and budget as you. SEO is a household word in business, but it's still rarely done right in the grand scheme of things. Spend some time with a clear understanding of what Google really is to your website, and spend more time in the planning stage.
(not provided) – What's That Mean, Google?
If you haven't heard, about a week ago Google rolled out a change that affects your data in analytics. I started seeing (not provided) as a natural search keyword. Google has decided to go all SSL on us people who log into Google, and based on how they built it, that hides the keyword data from our analytics. They're telling us it's for privacy.
Let's put it this way – if you have 100 natural search visitors in a month, and they all come to your site by Googling a different keyword, you'd expect to see 100 different keywords in your natural search keyword report. Now, if 50% of those 100 people were logged into Google (ie., logged into Google Plus, or Gmail, or Docs, etc.), you'd see 50 different keywords, and one (not provided) stat showing 50 visits.
When I first heard the news I looked at my Google Analytics. The (not provided) only represented .001 of my natural search visitors. I checked again today, and it's up to .05 of my visitors. I expect it to grow as it continues to roll out through data centers, and as more people started joining up with the Google products that make them log in. Does this roll into mobile too? I assume so.
Why Is Google Really Doing This?
I don't know. Right now it only affects natural search. If a user clicks an AdWords ad from Google.com, the keyword referral data is still passed through whether the user is logged into Google or not. Speculation is that display companies are using natural search data to better target their ads, and since Google is focused on the display game now (trying to own it… which they're completely on par to do), they're possibly trying to lock away some of their keyword data. But those same companies can normalize the same keyword data from Yahoo/Bing and still be close.
If (not provided) grows, and a percentage of your keyword referral data is lost, will people start getting "rank crazy" again? Will people start scraping Google for rankings they think they should rank for, versus knowing they should (or shouldn't) rank for with traditional ranking reports? Google hates when we scrape them and inflate their AdWords numbers.
But what really ticks me off is that I use my keyword data to better my visitors' experience. With personalized search, social search, and all the cute little things Google does now, I get a lot of interesting queries in my keyword report. Sometimes they're things I wouldn't normally rank well for, but because there's"some relevance" with my site, I get these rare keyword entries. They often inspire me to create content.
If I had a site for plastic sneakers, and I got a one time natural search keyword visit for "how to run with plastic sneakers and not get blisters," I might assume there's a pocket of people with that same question. I might write a blog post and answer the question. I might put an article on my main site to attract visitors. In the end, this might provide a great value to searchers, and my own website. But now, if the user who entered this query was logged in, I'd never see it in analytics. Inspiration may never hit. Everyone loses.
Ok, maybe right now it's not something to freak out about. It's another "Google wait and see" game, but we're used to that now, aren't we? This is just an odd one. Data is so important to content providers.
SEO Fantasy Camp
They say you ground your current experiences in past experiences. I worked in the music industry in the 90's. Think Napster, Chemical Brothers, and music festivals. For me, the SEO blogosphere is reminiscent of that time.
I've been doing SEO for 11 years. There have always been SEO rock stars. Like Hendrix, many of them were pioneers of a new frontier. These SEOs are still around, but for one reason or another, many seem to have gone the way of Foreigner.
But today it's a much different scene. We have a much bigger industry and heap of digital communication platforms. We're so much more than just the HighRankings forum now. Still, I continue to see an odd centralization on today's perceived rock stars. Almost as if there's a (gasp) mainstream. Its amazingly cool to watch people sign autographs at SMX, even if these people won't reply to you on Twitter. It's also funny to see the egos on some of these peeps, the likes of which I haven't seen since the singer of Everclear (That's right whatsyourname singer from Everclear… Took me 10 years but I'm finally calling you out! I didn't forget our fight!).
How can there even be a mainstream? There are hundreds more verticals than styles of music, hundreds more strategies than pop song formulas, and an endless need for experimentation. When's the last time a rock star in the mainstream did anything new? And I'm not counting a meat-dress as experimental.
Looking back, Sphinn was pretty bad. Some of the most useless SEO content was sphunn up because of the name of the author or curator. But if you bothered to dig deeper, there was some great indie stuff. Google Plus is better because of the difference in interaction, but can be just as bad. In this case the curator (or DJ???) gets more rock god status. Twitter is the wild west, but my choice for really digging deep.
With all that said, there's still great, "followable" people who have achieved rock star status. Rand Fishkin's team at SEOmoz is still making hit songs. My friend Wil Reynolds and the SEER team still teach me actionable stuff weekly. They're still highly relevant for the style of SEO I do. Alternatively, other friends like Eppie Vojt, Ian Howells, John Doherty, and Mike King make me take notes – these guys may not be on the Billboard Top 20, but they're brilliant players. That's who's on my feed reader and my Twitter list. I have a lot more of these indie rock guys than the mainstream players (with notable exceptions).
I'm not saying you need to go alternative. I'm saying you should check to see if you're looking deeply enough for your taste in SEO. And if you're not stealing licks (in other words, actively applying what you learn), you may not be following the real artists of today's SEO scene.
SEO is about searching; it may take a while longer to uncover some new personal rock stars, but so what? Is this your passion? Rawk on!!!
What Should You Be Writing About?
In a previous post I was ranting about how the marketing industry seems to write for the sake of being noticed, but it's akin to millions of people throwing confetti in the air. We're taught that content is king. We're told it will help us stand out and/or get noticed by the search engines. Here's the reality – nobody really stands out if they're just writing small, non-descript content. It's just noise. You're actually doing more harm than good by wasting readers' time. Usually a single post determines whether you get added to an RSS feed, retweeted, liked, or linked. It's likely not going to make much of a dent in Google either.
I suggested not rehashing someone else's opinion, but coming up with your own. Simple enough, right? If you don't have a take, or something to offer, maybe don't write.
So what does that leave? What do you write about? Where do you start? Hell if I know – I'm not in your industry and haven't taken the time to think through your industry. But I do have a couple places you might think about going (these are my sources of inspiration).
1. Technorati – If you use Technorati wrong, you stand the chance of writing duplicate content. But if you search for a keyword (use the advanced search), and scan the resulting topics alone, you should have your first ingredient for an angle. What's missing? Write it.
2. Your Sales Team Or Customer Service – These guys know the ins and outs of customers needs or problems. Have a meeting, and figure out what the issues are. Write something that gets ahead of these issues. This alone might be content for years.
3. Q&A sites – From Quora to Yahoo Answers, people are asking questions. If you don't like the answers you see, then add your own to those – and your own – websites.
4. Use Social Mention – Conversations are happening, and even though you're not in them, you can facilitate the conversation with something well written and targeted. Social Mention will help you track those conversations on topics you are an expert about.
What are your sources of inspiration?
I'm begging the marketing community – please drop "content is king" and replace with "unique, relevant opinions are king." I can't take the flurry of noise in my inbox, reader, and twitter stream anymore.
SEMrush Review
I love when clients ask, "What keywords am I ranking for?"
Well, unless you're ranking for a keyword, and people are clicking through (where I can see it in your analytics), I have no idea. I suppose I could do a few hours of keyword research and run that through a rank checker to see if you're in contention. Or I could use SEMrush.
SEMrush is a great tool, with a lot of keyword data for both PPC and SEO. Basically they create their own ranking index of the web. And, they're pretty accurate. It's great as a competitive tool – enter in a competitor and check out what they're ranking for. This is eye-opening for several reasons. With estimated volume along with each keyword, it's great to illustrate keywords you're not optimizing for (and maybe should be).
It does a few other "nice to have" things, like providing quick snapshots of competitors in Google. Granted, you could do this yourself pretty quickly with your own Google search, but SEMrush gives you a decent .csv output. I also like the competitive ad review feature (helps you figure out how your ad copy stacks up with your competitors).
This tool has been out for a while, though I'm always surprised how underutilized it is. Give it a spin.

subset: commoncrawl


text: 14 Items View 12 / 24 / 48 This thing is better than free ice cream By The Nitrate King on 11/24/2015 The Nitrate King would recommend this product to a friend My 65 gallon was mucky. This very quiet and extremely efficient skimmer picks up the darkest skim crud ever. Collect them all!!! Excellent By NewtoReefing on 8/30/2015 NewtoReefing would recommend this product to a friend Replaced my Remora HOB with this beast. I am battling an outbreak of hair algae that will not subside despite all the measures I have tried. Decided to replace my skimmer. Absolutely love the amount of skimmate produced. The break in period was literally 4 days. The skimmer is quieter than my prior skimmer. I ran both skimmers for 1 week just to compare. This out performed the Remora 5:1. Definitely recommend. great skimmer By JD on 8/22/2015 JD would recommend this product to a friend !st hob skimmer - worked great from the start Works well By Shawn O on 7/13/2015 Shawn O would recommend this product to a friend This skimmer works pretty well. As it's my first and only skimmer, I have nothing to compare it to, so.... I'm giving it a 5 because it does pull out crud from the water without making a lot of noise.. It only took about 3 days to break in. If I set it just right, I get dark skimmate. If I set it just a hair either way I get slightly tinted water or nothing but crud inside the cone. I'm running this in a 55 FOWLR with 6 fish. I think it would pull out more crud if I took my aquaclear 70 offline. Fantastic By Tim dogg on 6/6/2015 Tim dogg would recommend this product to a friend I have this unit on another tank and I love it. The best HOB skimmer out there. BRS had the best price and quickest delivery. Customer for life Very good product By JT on 4/4/2015 JT would recommend this product to a friend skims great from the start Might be the best HOB By JMS on 3/16/2015 JMS would recommend this product to a friend Best I have found for a HOB type skimmer. As close to a traditional in-sump skimmer I have tried. Quiet, easy adjustments that hold, no microbubbles. Top Gun By Cleaner Wrasse on 12/24/2014 Cleaner Wrasse would recommend this product to a friend This skimmer is mint. Fantastic build quality and super quiet. Best used with an auto top off system, however, as it's pretty sensitive to water level. really impressed By chris on 11/9/2014 chris would recommend this product to a friend I bought a skimmer from petsmart, about 150.00. It was loud, flooded the tank with bubbles. I returned it. found BRS, with the best price even when looking on Ebay.. Only neg. I have is they don't provide any instructions at all. All they give you is the exploded view of the unit for reordering purposes. Good news : a child could assemble this. It started taking gunk out right away, like RIGHT away.. It is very quiet. Well designed, skims off the top, and no micro bubble. however, it is very sensitive and two weeks later I am still making micro adjustments to it.. It will fill the container with tinted water over the evening, when tuned all the way down to the bottom of the riser tube.. I come in the morning and it is bubbling at the top like crazy. Dial it down a MICRON.. One!.. and bubbles recede to middle to the tube.. then a hour later they will be at the bottom.. At the end of the day, back at the top, and have filled the collection cut with tinted water.. So, I am still working on tuning this Awesome By DC on 11/8/2014 DC would recommend this product to a friend Works so great, keeps the water in great shape. All fish are in tip top condition! Fantastic By Chad on 10/22/2014 Chad would recommend this product to a friend From the very first day this skimmer was pulling organics out of the water. My tank is brand new with only a clean-up crew and it still pulled some brown gunk out of the water. Very happy with the performance and quality and would highly recommend it. Great hob skimmer By Joe on 5/6/2014 Joe would recommend this product to a friend I have this on my 30gallon reef tank . I am absolutely pleased with it I like the design feature of the hob because I don't have a sump, this skimmer is very constant for skimming one set I've haven't adjusted it again. And also is very easy to clean the collection cup and body Great skimmer By Jon on 11/26/2013 Jon would recommend this product to a friend This skimmer is very powerful. I have it on my 75 gallon. It takes about 3 days to break in. If there is nasty in your water you will know it because this skimmer will start puking lots of foam. Excellent By cinman on 11/16/2013 cinman would recommend this product to a friend This was my first PS and I couldn't be more pleased. Took about a day to start pulling stuff out of the tank. Super quiet and sturdy construction and Bulk Reef shipped it our very quickly. 5 star service. Thanks,,, Write Your Own Review You're reviewing: Reef Octopus Classic 90 Hang-on-Back Protein Skimmer *How do you rate this product? *Would you recommend this product to a friend? Yes No *Nickname *Summary of Your Review *Review Submit Review


text:
Voice-over actors announce book
SAN DIEGO — Voice over actors Yuri Lowenthal and Tara Platt will officially announce publication of their book, "Voice-Over Voice Actor: What It's Like Behind the Mic," this weekend Comic-Con International in San Diego.
Husband and wife duo Yuri Lowenthal and Tara Platt will give insider tips and in-depth discussion in this 'How To' book.
"So many people have asked us how we got into [VO] and how they can do it too," Lowenthal said in a release. "And in the book we do our best to tell them all
about what we've done."
Lowenthal's credits include Superman (Legion of Superheroes), Ben (Ben 10: Alien Force) and the Prince (the Prince of Persia series of video games).
Platt has portrayed Wonder Woman (DC vs. Mortal Kombat), Dream Girl (Legion of Superheroes), and Temari (Naruto).
Preorders are available at www.BugBotPress.com.
- Matt Price


text:
November 27, 2015
Last night around midnight, Tyler Alan Ford was in a one car accident on Harvey Road in College Station. His white F-250 was heading East when Police say Ford lost control of the truck and rolled into a ditch.
When Police arrived on the scene they say they found Ford intoxicated and placed him under arrest. After futher investagtion the driver admitted to having a loaded 9MM handgun in his backpack.
As a result, Ford has been charged with Driving while intoxicated and unlawful carrying of a weapon
Click Here to access the online Public Inspection File
Viewers with disabilities can get assistance accessing this station's FCC Public Inspection File by contacting the station with the information listed below. Questions or concerns relating to the accessibility of the FCC's online public file system should be directed to the FCC at 888-225-5322, 888-835-5322 (TTY), or firstname.lastname@example.com.


text:
What does LID NUMBER stand for?
What does LID NUMBER mean? This page is about the various possible meanings of the acronym, abbreviation, shorthand or slang term: LID NUMBER.
We've found a total of 1 definition for LID NUMBER:
Filter by: Sort by:PopularityAlphabeticallyCategory
Local Identification Number
Still can't find the acronym definition you were looking for? Use our Power Search technology to look for more unique definitions from across the web!
"LID NUMBER." Abbreviations.com. STANDS4 LLC, 2015. Web. 29 Nov. 2015. <http://www.abbreviations.com/LID%20NUMBER>.


text: CheatCC says - "The Resident Evil series has well over a dozen games that can be played on almost every platform available. Sometimes it seems as though Capcom will jump on any excuse to squeeze another game out of this veteran franchise. But are they really going to throw together a title that consists of nothing more than a minigame from previous games just so they can capitalize on the new Nintendo 3DS' glasses-free 3D capabilities? You bet they are!"


text:
Nice superbar and explorer icons Have you modded your VS? Because it's doesn't look exactly as the Glass Onion.
I haven't modded anything. What doesn't look right, exactly? O.o
It not worse than the original, it looks better. Thanks why I asked. Maybe Glass Onion has more theme variants than its preview displays, or the different colors in the 2 images make me feel it's a slightly different explorer window.
How did you get the taskbar icons to change for open programs? When I open one, they just revert to default.
Opera skin?


text:
2005 Dodge Caravan • 116,000 miles
After driving for 30 minutes or more in very cold weather, the rpm's fluctuate. It downshifts for a few seconds or even as long as 15-20 seconds. Then goes back down. Goes from 1900 to 3200 with me doing nothing with the accelerator. What needs to be done?
January 2, 2013.
January 2, 2013.
1. If it hasn't been done before I would replace the transmission filter and add new fluid.
2 Solenoid pack may be going bad.
2 Solenoid pack may be going bad.
Jan 2, 2013.
Jan 2, 2013.
I have a Honda and yesterday when I went to work the rpm's dropped to zero and then ramped up normal jolting the car. This happened three times on the way to work. On the way home ...
2 answers • 1996 Honda Accord • 180,000 miles
When driving I notice the RPM speed is loud and the needle is higher than usual. And the gas usage is higher too
1 answer • 2005 Saturn L300 • 102,500 miles
Hey All, Had a very rough running Mazda 626 on LPG, engine code FP. After renewing the spark-plug cables, some vacuum hoses and cleaning the throttle valve, I installed the lot again...
5 answers • 1996 Mazda 626 • 473,000 miles
My rpm is already at 1 when i start the car and when i press the gas pedal it shoots forward suddenly. the car will move by itself when i'm not pressing the gas pedal. what is wrong ...
1 answer • 2001 Honda Civic • 135,000 miles


text:
Richmond Green Secondary School
|This article needs additional citations for verification. (November 2007)
|Richmond Green Secondary School
|1 William F. Bell Pkwy
Richmond Hill, Ontario, L4S 2T9
|43°54′13″N 79°23′50″W / 43.90361°N 79.39722°WCoordinates: 43°54′13″N 79°23′50″W / 43.90361°N 79.39722°W
|School type
|High school
|"Where tomorrow begins"
|Religious affiliation(s)
|September 2005
|School board
|York Region District School Board
|Rita Russo[1]
|Area trustee
|Carol Chan[2]
|School number
|Rose Li[3]
|Vice principal
|Sonya Borrell, Michael Grieve[4]
|1154[5] (October 2013)
|Richmond Green Rattlers
|Last updated: September 2014
Richmond Green Secondary School is a public secondary school in Richmond Hill, Ontario, Canada. The school is located off of Leslie Street, just north of Elgin Mills Road. The school is a part of the York Region District School Board.
The school is a large, three story building attached to a public library which also serves as a school library, Richmond Green Public Library. It is named after the adjacent Richmond Green park.
Despite officially opening as a high school in 2005, the building was built a year earlier and functioned as a temporary elementary school due to the nearby Lincoln Alexander Public School experiencing major construction setbacks. During the 2005/2006 school year, another York Region District School Board elementary school occupied the third floor due to an extensive asbestos cleanup occurring in their building. At this time, secondary school classes were restricted to the first and second floors.
Richmond Green had an enrollment of approximately 330 Grade 9 and 10 students and over 30 staff in its inaugural school year. Most of the Grade 10 students came from nearby Bayview Secondary School and Richmond Hill High School. In its second year, the number of students increased to 500 as Grade 11 courses were added. The 2007/2008 school year found the student population increased to 850 students, with Grade 12 being added. In May 2009, Richmond Green had approximately 1000 students, with new students arriving regularly due to new housing developments in Richmond Hill and Markham. As of January 2014, the population of the school is over 1200.
Notable alumni[edit]
- Andrei Rogozine (2007-2011), gold medalist at the 2011 World Junior Figure Skating Championships.[6]
- Gabrielle Daleman (2012-), figure skating competitor at the 2014 Winter Olympics.[7]
See also[edit]
- ^ http://www.yrdsb.ca/schools/pages/School-Profile.aspx?SchoolID=201
- ^ http://www.yrdsb.ca/schools/pages/School-Profile.aspx?SchoolID=201
- ^ http://www.yrdsb.ca/schools/pages/School-Profile.aspx?SchoolID=201
- ^ http://www.yrdsb.ca/schools/pages/School-Profile.aspx?SchoolID=201
- ^ "York Region District School Board - Monthly Enrolment Report" (PDF). York Region District School Board. 12 December 2013. Retrieved 10 September 2014.
- ^ Li, David (January 20, 2013). "Richmond Hill's Rogozine skates to podium". yorkregion.com. Archived from the original on August 1, 2014.
- ^ "Gabrielle Daleman". Canadian Olympic Committee. Archived from the original on April 2, 2014.
External links[edit]


text:
Microsoft Store offers the 5.3-lb. Dell Inspiron 15 Intel Haswell Core i5 1.7GHz 15.6" 1080p Touchscreen Signature Edition Laptop in Silver, model no. i5558-5718SLV, for $399 with free shipping. That's the lowest total price we could find by $201. Features include an Intel Haswell Core i5-4210U 1.7GHz dual-core processor, 15.6" 1920x1080p (1080p) touchscreen LCD, 8GB RAM, 1TB hard drive, DVD burner, 720p webcam, 802.11ac wireless, Bluetooth 4.0, HDMI, USB 3.0, 4-cell battery, and Windows 10 Home 64-bit.
Microsoft Signature Edition devices feature a clean operating system, installed without any RAM-hogging third-party trialware. Click here to learn more.


text:
It is looking good out there.
- NotesFromAbroad
- My husband and I , with our dog, Tate, moved to Buenos Aires, 8 years ago. Life has never been the same since ~ Back in the USA ... life is still not the same !
Saturday, September 17, 2011
The Weekend
It is looking good out there.
5 comments:
Is this photo actually someplace where you live???? My oh my...it is gorgeous!!! Tell me more about the terrain where you live. I'm entranced by this photo. Wouldn't it make a wonderful painting????ReplyDelete
No, I am sorry, that is not a photo from here.. just a photo I like :)ReplyDelete
We live in a city, with parks, in Argentina, so we are surrounded by amazing natural beauty.
I will have to blog more about that .. thanks for your comment, besitos !
It's funny, today our Autumness arrived, very chilly, windy, with peaks of sun now and then. Spring and Fall are so related aren't they?!ReplyDelete
Enjoy your weekend...
xo J~
I admit that Spring is nice here, the seasons all seem to last longer than they do in the US :)ReplyDelete
Summer is usually too long so Autumn is so welcome, and now the same with Spring. This was a long sad and cold winter for us so I am ready for this warmth and change.
It's cold in Germany. Raining since weeks. Seems like we had no summer. But I love the fall. It's my favorite season of the year. And I like rain. I made some photos on my terrace. Have a look if you like... :-)ReplyDelete
Wish you a wonderful Sunday.
Blog Archive
- ► 2015 (256)
- ► 2014 (242)
- ► 2013 (189)
- ► 2012 (310)
- If Wishes Were Horses ........
- If I had a Goal
- San Telmo
- Where I live ...
- Monday .. Look at This Blog !
- Spring has Sprung
- Slothful
- My Glamorous Life
- Primavera and What was I going to say?
- Testing testing ....
- Let's go to the Flea Market !
- Monday .. Look at This Blog !
- Where we need to be
- The Weekend
- Galerias Pacifico
- Chinatown
- What can I say ~
- Tumbling along
- Monday .. Look at This Blog !
- Dear New York City
- Creatures of Habit
- Visitors
- "The Best .... "
- We took a walk today ....
- A busy day ....
- A bit of chocolate at any time of the day is good
- Monday .. Look at This Blog !
- Yes, I Live in Buenos Aires !
- A Nice Neighborhood
- FFFFriday
- This Isn't So Bad ....
- ▼ September (32)


text:
- Age / Gender:
- n/a, Male
- Location:
- Denmark
- Joined:
- 6/5/08
- All Stats >
User Statshot
- Community Stats
Level 12 Blank Slate
Normal Whistle
Ranked as Civilian
Contact Info / Websites
Recent Game Medals
Zesty Nachos 5 Points Cook a Zesty Nacho Order Medal Stats.
SECRET MEDAL 100 Points Unlock this medal to see it's details. Medal Stats.
Delicious Pizza 5 Points Cook a Pizza Order Medal Stats.
Wild Salmon 5 Points Cook a Salmon Order Medal Stats.
Club Sandwich 5 Points Cook a Sandwich Order Medal Stats.
SECRET MEDAL 25 Points Unlock this medal to see it's details. Medal Stats.
Old Fashioned Hamburger 5 Points Cook a Hamburger Order Medal Stats.
Creamy Pasta 5 Points Cook a Pasta Order Medal Stats.
SECRET MEDAL 10 Points Unlock this medal to see it's details. Medal Stats.
Beluga 50 Points Crush the Airbus Beluga Medal Stats.
Total Medals Earned: 187 (From 39 different games.)
Favorite Audio
|3AM (DUBstep) NG Cut
|Dubstep Song
|The Lorn Void
|Ambient Song
|Road Rage
|Ambient Song
Favorite Movies
Raw Latex Rated 4.4878 Stars Latex forehead strap-ons. You're intrigued now. Comedy - Parody Wrong Number Rated 4.5102 Stars Directed by M. Night Shamalamadingdong. Comedy - Original Skyrim : Bear Rated 3.9030 Stars How to deal with the Bears of Skyrim. Comedy - Parody Mr. Literal Rated 4.4209 Stars You've all met this guy. But you've never seen him go over the edge... Comedy - Original
Favorite Games
Meaty Boner Rated 3.9368 Stars A Boner is much more powerful, when it's nice and MEATY! Action - Platformer - Other This is the Only Level 3 Rated 4.3160 Stars Once more, there is only one level to defeat... again. Action - Platformer - Hop and Bop Road of the Dead Rated 4.4530 Stars Escape the quarantined city through a highway filled with zombies, carnage and chaos! Action - Other Feed the King Rated 4.3968 Stars Cakes are NOT a lie in this game! Stack them up and eat them all! OM NOM NOM Skill - Other


text:
Madelyn "Maddie" L. DeMore, 5, of Independence, Mo., passed away Nov. 8, 2012.
Madelyn "Maddie" L. DeMore, 5, of Independence, Mo., passed away Nov. 8, 2012.
Services will be at 10 a.m., Tuesday, Nov. 13, at Speaks Suburban Chapel, 18020 E. 39th Street, Independence, MO 64055.Visitation will be 6 to 8 p.m., Monday at the chapel. The family suggests contributions to the Carousel Program, Kansas City Hospice, 9221 Ward Parkway, No. 100, Kansas City, MO 64114.
Maddie was born July 11, 2007, in Independence, Mo. She enjoyed spending time with her family and watching movies together.
Maddie was preceded in death by paternal grandfather Michael DeMore and great-grandparents Mary and Frank Nold. She is survived by her parents Jack and Melanie DeMore, of the home; her dog Roscoe; maternal grandmother Patti Jones, Independence, Mo; maternal grandfather Steve Jones, Raymore, Mo; paternal grandmother Sheryl DeMore, Kansas City, Mo; aunt Vanessa Jones; cousin Ryleigh Gage; great-grandmother Sharon Smith, all of Independence, Mo.
Condolences may be sent to the family at www.speakschapel.com. Arrangements: Speaks Suburban Chapel 816-373-3600.
Click here to send flowers.
Comments are currently unavailable on this article
Location, ST | website.com


text:
Sort by:Oldest FirstNewest FirstShow All
Assssins creed 3Posted by NombSkull
11/25/12 22:18
Im loving it!
Only downfall..i bought it for Xbox360. I shoulda got it for PC, i prefer keyboard/mouse over handheld controllers.
Im currently at 16% and am running around as the child Conner in the forests. Loving the graphics heaps and the storyline...is just as good, if not better than the previous AC's.
9/10 from me!
Also..my gamertag is Stink oO0z (small o, big O and zero)
Assssins creed 3Posted by starkiller2255
11/27/12 16:42
ac3 is pretty sweet they added alot of new features my favorite being naval combat assassins creed is my favorite series of all time


text:
The All-New Ford Mustang, coming Dec. 5, 2013. Courtesy photo/Ford
- Filed Under
Ford will unveil the 2015 Mustang, the next generation of the iconic pony car on Dec. 5.
There will be an unveiling Dec. 5 at a number of cities simultaneously: Los Angeles, New York,, Dearborn, Barcelona, Sydney and Shanghai.
The news broke today at an event at the Los Angeles Auto Show. This will be the first redesign since 2005 for the car which celebrates its 50th anniversary next year. ...


text:
1986 Ford Bronco • 82,500 miles
My 1986 bronco wont turn over or nuthin. I bought a brand new battery and solenoid, but it wont turn over with key in start. Speakin of key, even when it is in the run or start position, nothing turns on, no lights no pump no nothing at all. Ive jumped the two pins on the solenoid and it turns over but no start. I need help, advise, solutions, ect. Thanx a billion
Check the battery cable connections. Make sure they are clean and tight
look at the fusible links off the positive of the battery.
Lastly, check for power at the ignition switch
look at the fusible links off the positive of the battery.
Lastly, check for power at the ignition switch
May 14, 2012.
May 14, 2012.
All the battery cables are tight on the terminals. Ill check all the links when I get home. Thanx alot. Ill keep yas updated.
Well one of the fusible links was blown about a quarter inch of the link on the solenoid side. Any temperary fix or do I have to replace it right away?
May 15, 2012.
May 15, 2012.
As a temp fix if there is some of the link left crimp a piece of wire on to it. Be careful there may be a short in the system that popped the link.
May 15, 2012.
May 15, 2012.
Well got power restores throughout the truck. Now its just gettin er started up
May 21, 2012.
May 21, 2012.
How do I replace a battery in a 2009 Chevy Equinox LS with a 3.4L V6. Most cars are straight forward, this looks difficult. Shame on GM. Thanks.
1 answer • 2009 Chevrolet Equinox • 19,000 miles
My battery is dead and I was going to take try and take it out but it is located on the passenger side below the air cleaner. My question is how is it possible to remove/replace the ...
2 answers • 2002 Dodge Intrepid • 125 miles
About a month ago, the battery and brake light came on on my 2000 Mitsubishi Galant. The lights would sometimes stay on, sometimes flicker. A couple of weeks ago, I woke up and the car ...
1 answer • 2000 Mitsubishi Galant • 130,000 miles


text:
NewTek Inc. has revealed LightWave CORE, its next-generation 3D application via a streamed live presentation on www.ustream.com to 3D artists around the world. LightWave CORE is a completely new system offering a unified environment that allows anything to be animated in any number of ways. LightWave CORE is a node-based, multi-processing, unified application, designed to be as future-proof as possible, with a concentration on capacity and performance.
"We debated, discussed and researched CORE for a long time before a line of code was even written. By designing a brand new architecture, we were able to create what I believe is a more flexible, bulletproof, forward-looking, high-capacity and performance-driven system than any 3D content creation environment currently on the market," said Jay Roth, president, 3D Division, NewTek Inc. "Longstanding LightWave artists will still be comfortable with the changes made and new users will delight in the flexibility offered by NewTek LightWave CORE."
LightWave CORE offers a flexible user interface design with general access to most of the UI components available via CSS, including fonts, placement of controls and widgets, down to pixel-level accuracy. Users can also take advantage of snapping palettes to rearrange their screen at will and use the desktop management system to store their preferred layout in a per context fashion: settings for modeling, surface, rigging, animating, rendering and so on, all set and stored separately.
The SDK for CORE is C++-based and is the same for internal development as it is for external development. The architecture enforces full access to C++ SDK and scripting languages, featuring Python as the primary language, while remaining open to connection with a wide range of others through SWIG compliance. CORE is completely multi-threaded spawning as many threads as it needs. The system is both 64- and 32-bit compliant, and is capable of leveraging GPU power where applicable. It will be available on Windows, Macintosh OS X and Linux.
NewTek LightWave 3D combines a state-of-the-art renderer with intuitive and powerful modeling and animation tools. Tools that may cost extra in other professional 3D applications are part of the product package, including unlimited render nodes, hard- and soft-body dynamics, hair, fur, cloth simulation and more. LightWave is enjoyed worldwide as a complete 3D production solution for visual effects in television, film, broadcast graphics, games, visualization, print and Web.
LightWave CORE can be purchased the traditional way at the time of each final product release or by taking advantage of NewTek's new HardCORE membership program. HardCORE members receive exclusive access to ongoing software builds, special pricing, copy of the shipping version of the LightWave CORE release scheduled for Q4, a private forum for discussions with the LightWave development team, exclusive information updates, training videos, VIP invitations to special events, personalized membership card and of course, their own custom T-shirt.
LightWave v9 owners gain access to LightWave CORE with their HardCORE membership for US$395 (charter price) through March 31, 2009. Beginning April 1, HardCORE annual memberships for LightWave v9 owners will increase to US$495.
LightWave owners using any previous version of LightWave may upgrade to LightWave v9 and gain access to LightWave CORE with an included HardCORE annual membership for US$495. For 3D artists using other applications, Companion Upgrades to LightWave v9 will be available through March 31, 2009 at a cost of US$595 and come with a one year membership to HardCORE.
New LightWave v9 purchases through March 31, 2009 are available for US$895 and come with a one year membership to HardCORE. LightWave CORE is slated for a Q4 2009 release. LightWave CORE will retail for US$1495, LightWave CORE upgrades will be US$695.
For more information or to purchase, visit www.newtek.com/core or call NewTek Sales at 800-368-5441, for international inquiries dial +1-210-370-8000.


text:
HTTP Servers Software
Waterken Server
The Waterken Server is a platform for building Java applications that use eventual control flow operations, such as asynchronous invocation, to communicate both within the application and across the network to other HTTP-based software.4 weekly downloads
HttpBridge is a web http proxy, also called CGI-proxy. It is implemented by Java Servlets. It allows designated family members, friends, and co-workers who are behind a firewall or in the countries where internet is restricted to access liberal internet.1 weekly downloads
WebReactor is an async(using twisted) HTTP/FTP/WebDAV server created with Python. Coded from scratch by René Olsthoorn in 2001-2005. An Object2SQL mapper is included. CherryTemplate is used as template engine. Support for websessions, dyn. webpages,etc.1 weekly downloads
Jicarilla software framework
A compact service-oriented event-based IoC/COP/SOC software framework written in Java, including basic event pipelining, a container supporting many kinds of IoC, and several useful general and network-related components.1 weekly downloads
Python Community Server
A free replacement (in Python) for Radio Community Server and a miniature application server, with an embedded almost-OO database and a very quick script handler.1 weekly downloads
S3 Mockup is an Amazon S3 emulator we develop for one of our projects. It can be easy embedded and used in your test framework or running as an independent service. Using this emulator you can easy setup development and QA environment.1 weekly downloads
Vistigator is a website analyzer, which allows CEO's, CTO's, and users to view info about their website. Vistigator is integrated with Apache 2 HTTP Server, allowing Vistigator to display website stats graphically & easily about specific IP Addresses.1 weekly downloads
HashPipe is a file sharing network that uses HTTP or HTTPS for all communication and references downloads by their MD5 hash only. Works on any system with PHP5 and a compatible webserver and database. For Windows XP there is now an easy server bundle.1 weekly downloads
A lightweight Java HTTP server and webservice-framework1 weekly downloads
LiveHack is an HTTP server for a simple, web-based, shoot-em-up game. It is written in Java, so it's small, fast, and secure.1 weekly downloads
wodafok1 weekly downloads
Erlang HTTP server auth
Sorry, moved to https://bitbucket.org/a12n/ehsa/
Lavlet Lisp HTTP server and server pages
The Lavlet HTTP server and Lisp Server Pages engine is a complete ANSI Common Lisp web server and dynamic pages engine for Lisp modeled after JSP/Servlet/Tomcat and ASP/IIS.
Web Basket
A web unstructured file system using UUIDs to uniquely identify the files.


text:
If you've forgotten your password, enter your e-mail address below and we'll send you an e-mail message containing your password.
Congratulations to the winner of this month's Question
of the Month,
barbara b.
who wins $100 for the following question:
On your site you sell both FRONTLINE PLUS FOR CATS and FRONTLINE TOP SPOT.
Can you please explain the difference so I know which to purchase...?
our vet's reply


text:
I'm trying to send a push notification to APNs using Erlang. This is the code I came up with so far:
connect() ->
Address = "gateway.sandbox.push.apple.com",
Port = 2195,
Cert = "/path/to/Certificate.pem",
Key = "/path/to/Key.unenc.pem",
Options = [{certfile, Cert}, {keyfile, Key}, {mode, binary}],
Timeout = 1000,
{ok, Socket} = ssl:connect(Address, Port, Options, Timeout),
Token = "195ec05a962b24954693c0b638b6216579a0d1d74b3e1c6f534c6f8fd0d50d03",
Payload = "{\"aps\":{\"alert\":\"Just testing.\",\"sound\":\"chime\", \"badge\":10}}",
TokenLength = length(Token),
PayloadLength = length(Payload),
Packet = [<<0:8, TokenLength, Token, PayloadLength, Payload>>],
ssl:send(Socket, list_to_binary(Packet)),
The code doesn't take advantage of Erlang's concurrency but is just a prototype. I only want to test if I can send the push in the most simple way.
I think the problem is in the packet being sent to the APNs. This is the binary format of a push notification:
How should I create such a packet in Erlang?
Could someone please take a look at my code and tell me where the problem is?
Also I used Erlang's SSL application to create the connection and send the data and I don't know if this is the problem or the packet.


text:
Need help? Check out our Support site, then
Back to WordPress.com Forums
- Member Since
- February 13, 2013 (2 years)
- Website
- http://celebritynewsupdates.wordpress.com
User Activity
Recent Replies
- Installing themes to free blog? User last replied: 2 years ago. Most recent reply: 2 years ago
Threads Started
No more topics posted.