Free Essay

Melp Final

In: Computers and Technology

Submitted By minator
Words 9574
Pages 39
Style Guidelines for Final Year Project ReportsReal Time Implementation of

Mixed Excitation Linear Predictive Vocoder

Final Year Project Final Report

A 4th Year StudentUmer Hamid 06-0063
Faraz Hussain 07-0597

Supervisor: Ms. Durdana Habib

Real time optimized Implementation of the Mixed Excitation Linear Predictive Vocoder on the TMS320C6416 DSP

[pic]

Electrical Engineering Department

National University of Computer and Emerging Sciences

Islamabad

Session 2009-2010

Abstract

The purpose of our project is real-time implementation and optimization of a 2.4 Kbps mixed excitation linear prediction (MELP) speech-coding algorithm on a Texas instrument TMS320C64xx digital signal processor. The main emphases of the project is on efficient coding and optimization strategies in computationally intensive modules by exploiting fast L1/L2 memory architecture, 8-parallel data paths, enhanced direct memory access module and instruction set features of TMS320C6000 architecture. The implementation would be based on generic TMS320C6000 DSP series; the optimization techniques aimed are applicable to all types of DSP platforms. Lastly the enhanced DSP/BIOS features were used to implement a real time data handling technique to port the MELP vocoder for real time applications.

Contents

1 Introduction 6

1.1 THE MELP SPEECH PRODUCTION MODEL 6

2 Development Process 29

2.1 DSP Architecture 29

2.1.1 INTRODUCTION 29

2.1.2 DSK SUPPORT TOOLS 30

2.1.3 CODE COMPOSER STUDIO 32

2.1.4 SUPPORT FILES 32

2.2 DSP Supporting Architecture 34

2.2.1 AIC-23 Codec 34

2.2.2 Multi-Channel Serial Buffered Port 43

2.2.3 Enhanced Direct Memory Access 52

2.3 Adaptation and Optimization 79

2.3.1 Numerical Conversions 79

2.3.2 Removal of Dynamic Memory Allocations 81

2.3.3 Optimization using intrinsics 83

3 Results and Suggestions 86

3.1 Outline 86

3.2 Migration 86

3.3 Optimization 86

3.4 Bandwidth 87

4 References 87

Introduction

The LPC coder uses a fully parametric model to efficiently encode the important information of the speech signal. The coder produces intelligible speech at bit-rates in the neighborhood of 2400 bps. However, the highly simplistic model in the core of the LPC coder generates annoying artifacts such as buzzes, thumps, and tonal noises; which is due to the many limitations of the model.

The mixed excitation linear prediction (MELP) coder is designed to overcome some of the limitations of LPC. It utilizes a more sophisticated speech production model, with additional parameters to capture the underlying signal dynamics with improved accuracy. The essential idea is the generation of a mixed excitation signal as input to the synthesis filter, where the ‘‘mixing’’ refers to the combination of a filtered periodic pulse sequence with a filtered noise sequence. The benefits require an extra computational cost, practicable only with the powerful digital signal processors (DSPs) introduced in the mid-1990s.
Originally developed by McCree (see McCree and Barnwell [1995]) as a Ph.D. thesis, the MELP coder incorporated many research advances at the time, including vector quantization, speech synthesis, and enhancement to the basic LPC model. It was then refined and submitted as a candidate for the new U.S. federal standard at 2.4 kbps in 1996 [McCree et al., 1996] and officially became a federal standard in 1997 [McCree et al., 1997].

1 THE MELP SPEECH PRODUCTION MODEL

A block diagram of the MELP model of speech production is shown in Figure 1.1, which is an attempt to improve upon the existent LPC model. Comparing with the CELP, we can see that the MELP model is more complex. However, the two models do share some fundamental similarities; such as the fact that both rely on a synthesis filter to process an excitation signal so as to generate the synthetic speech. As explained later in the chapter, the MELP decoder utilizes a sophisticated interpolation technique to smooth out interframe transitions. The main improvements of the MELP model with respect to the LPC model are highlighted below.

• A randomly generated period jitter is used to perturb the value of the pitch period so as to generate an aperiodic impulse train.

One of the fundamental limitations in LPC is the strict classification of a speech frame into two classes: unvoiced and voiced. The MELP coder extends the number of classes into three: unvoiced, voiced, and jittery voiced. The latter state corresponds to the case when the excitation is aperiodic but not completely random, which is often encountered in voicing transitions. This jittery voiced state is controlled in the MELP model by the pitch jitter parameter and is essentially a random number. Experimentally, it was found that a period jitter uniformly distributed up to 25% of the pitch period produced good results. The short isolated tones, often encountered in LPC coded speech due to misclassification of voicing state, are reduced to a minimum.
One of the fundamental limitations in LPC is the strict classification of a speech frame into two classes: unvoiced and voiced. The MELP coder extends the number of classes into three: unvoiced, voiced, and jittery voiced. The latter state corresponds to the case when the excitation is aperiodic but not completely random, which is often encountered in voicing transitions. This jittery voiced state is controlled in the MELP model by the pitch jitter parameter and is essentially a random number. Experimentally, it was found that a period jitter uniformly distributed up to _25% of the pitch period produced good results. The short isolated tones, often encountered in LPC coded speech due to misclassification of voicing state, are reduced to a minimum.

[pic]
Figure 1.1 The MELP model of speech production

Methods to determine the voicing states are explained in the next sections.

• Shape of the excitation pulse for periodic excitation is extracted from the input speech signal and transmitted as information on the frame.

In the simplest form of LPC coding, voiced excitation consists of a train of impulses; which differs a great deal from real world cases, where each excitation pulse possesses a certain shape, different from an ideal impulse. The shape of the pulse contains important information and is captured by the MELP coder through Fourier magnitudes (next section) of the prediction error. These quantities are used to generate the impulse response of the pulse generation filter (Figure 1.1), responsible for the synthesis of periodic excitation.

• Periodic excitation and noise excitation are first filtered using the pulse shaping filter and noise shaping filter, respectively; with the filters’ outputs added together to form the total excitation, known as the mixed excitation, since portions of the noise and pulse train are mixed together.

This indeed is the core idea of MELP and is based on practical observations where the prediction-error sequence is a combination of a pulse train with noise. Thus, the MELP model is much more realistic than the LPC model, where the excitation is either impulse train or noise.

In Figure 1.1, the frequency responses of the shaping filters are controlled by a set of parameters called voicing strengths, which measure the amount of ‘‘voiced-ness.’’ The responses of these filters are variable with time, with their parameters estimated from the input speech signal, and transmitted as information on the frame; procedural details are given in the next sections.

[pic]

Figure 1.2 Block Diagram of Melp Encoder

Let us now take a look at the different Encoder/Decoder modules in detail

FOURIER MAGNITUDES

The MELP coder depends on the computation of Fourier magnitudes from the prediction-error signal to capture the shape of the excitation pulse, which basically are the magnitudes of the Fourier transform. These quantities are quantized and transmitted as information on the frames. The objective is to create, on the decoder side, a periodic sequence as close as possible to the original excitation signal. In this section, the procedure for Fourier magnitude computations is described; examples using real speech signals are included to illustrate the technique. Note that Fourier magnitudes are calculated only when the frame is voiced or jittery voiced.

Pulse Generation Filter

The MELP model relies on the pulse generation filter (Figure 17.1) to produce periodic excitation. The idea is to find the impulse response of the filter during encoding and transmit the response to the decoder so as to generate the pulse train, used as the periodic excitation to the synthesis filter. Figure 1.3 illustrates the pulse generation process, where an impulse train of period T excites the filter to obtain a pulse train at its output. Looking at the magnitude of the Fourier transform, the spectrum of the pulse train is given by the product between the spectrum of the impulse train and the magnitude response of the filter. Therefore, by measuring the height of the peaks of the pulse train’s magnitude spectrum, it is possible to get acquainted with the magnitude response of the pulse generation filter. From Figure 17.2, measurements of heights are done at frequency values of o ¼ 2pi/T; i ¼ 1; 2; . . . ; once the magnitude response is found, the impulse response of the pulse generation filter, and hence the shape of the pulse, is known.

During encoding, the magnitude of the DFT for the prediction error is found; peaks of the magnitude spectrum corresponding to the harmonics associated with the pitch frequency are measured. The peak values are the Fourier magnitudes and are transmitted to the decoder to construct the excitation pulse, or impulse response, of the pulse generation filter.

[pic]

Figure 1.3 Illustration of signals associated with pulse generation filter

Fourier Magnitudes: Calculation and Quantization

The procedure used by the FS MELP coder for Fourier magnitude calculations and quantizations is presented next (Figure 1.4). Inputs to the procedure are the speech data (200 samples), the LPC, and the pitch period. It is assumed that the LPC and pitch period are already extracted from the signal. Prediction error is first computed by passing the speech data through the prediction-error filter. A Hamming window multiplies the resultant 200-sample prediction-error sequence. The windowing step is standard in FFT deployment; its incorporation maintains spectral leakage to a minimum. The resultant 200-sample sequence is zero padded to a 512 sample, with the FFT calculated afterward, resulting in 512 complex-valued samples. Recall that the FFT is an efficient way to compute the DFT, with the DFT defined by

[pic] (1.1)

being the analysis equation of the transform, and

[pic]

being the synthesis equation. We say that x[n] and X[k] form a DFT transform pair, and No ¼ 512 is the length of the sequences.

[pic]

Figure 1.4 Block diagram of the Fourier magnitude calculation and quantization procedure.

Why is there a need to zero pad? And why is the length equal to 512? To answer these questions, it is necessary to realize that, under very general conditions, the sequence X[k] in (1.1) is obtained by sampling the DTFT at regular interval Therefore, increasing the length of our original sequence from 200 to 512 samples with zero padding effectively increases the frequency resolution, resulting in higher accuracy; the process is equivalent to interpolation in the frequency domain. The number of 512 is selected as a trade-off between frequency resolution and computational cost and is a power of 2 because most FFT algorithms work under that constraint. In the present case, since the prediction-error signal is real-valued, the resultant DFT sequence (1.1) is symmetric, and only half of the samples need

to be computed; that is, only 256 samples are passed to the next block. Operation of the magnitude peaks search block (Figure 1.4) is summarized as follows, where it is assumed that the pitch period T is known.

[pic]

The purpose of the above code is to search in the neighborhoods surrounding the frequency values 512i/T, i=1…..10. These values correspond to the ten first harmonics associated with the pitch frequency. If the frequency value is above 255, that is, the harmonic is out of the evaluation range, the corresponding peak value, or Fourier magnitude, is set at SMALLEST_MAG (Line 4), which is a constant. In practice, SMALLEST_MAG is set to a small positive value. This latter case occurs when the pitch frequency is too high. If the frequency values are less than or equal to 255, the search for peaks is performed in the range round(512i/T) ±5; this range can be adjusted accordingly depending on the desired accuracy. At the end of the routine, ten peak magnitudes are obtained: Fmag[i], i=1 to 10. These ten values are the sought-after Fourier magnitudes. Thus, the Fourier magnitudes are the peak magnitude values of the harmonics related to the pitch frequency. Ten of these quantities are found to be sufficient for the present coding application.

The Fourier magnitude sequence Fmag[i] is normalized according to

[pic]

where

[pic]

The resultant sequence Fmag0[i] has an rms value of one and is vector quantized with an 8-bit VQ. The codebook is searched using a perceptually weighted Euclidean distance, with fixed weights that emphasize the low-frequency regions, since it is subjectively more important.

Pulse Excitation Generation

During decoding, the excitation signal is synthesized on a pitch-period-by-pitch period basis; that is, if T is the pitch period under consideration, then a T-sample pulse is generated. A block diagram of the pulse generation procedure is shown in Figure 1.5.

[pic]

Figure 1.5 Block diagram of the excitation pulse generation procedure during decoding

Given the decoded Fourier magnitudes, which are interpolated during MELP decoding (discussed later), the resultant sequence is denoted by Fmag[i], i=1……10; the following pseudocode summarizes the procedure.

[pic]

The routine takes the ten Fourier magnitudes and the pitch period as inputs to generate the T-sample array Y by setting Y[0] to 0 and the rest of the elements to 1. The Y-array is used for the inverse DFT (IDFT), thus representing frequency domain information. By setting the first element to zero, the DC component of the sequence obtained after IDFT is going to be zero. Next, the ten Fourier magnitudes are placed at Y[1…..10] and Y[T – 10 …. T - 1], resulting in a symmetric sequence. Symmetric extension is necessary for the generation of a real-valued sequence after IDFT. In Line 8, the resultant sequence y[n] is circularly shifted by ten samples and is normalized in Line 9 so that the y-array has unit rms value. The circular shift operation is specified by the following:

[pic]

The modulo operation MOD(n, N) is defined* by

[pic]

The purpose of circular shifting is to prevent abrupt changes at the beginning of the period.

SHAPING FILTERS

The MELP speech production model makes use of two shaping filters (Figure 1.1) to combine pulse excitation with noise excitation so as to form the mixed excitation signal. Responses of these filters are controlled by a set of parameters called voicing strengths; these parameters are estimated from the input signal. By varying the voicing strengths with time, a pair of time-varying filters results. These filters decide the amount of pulse and the amount of noise in the excitation, at various frequency bands.

In FS MELP, each shaping filter is composed of five filters, called the synthesis filters, since they are used to synthesize the mixed excitation signal during decoding. Each synthesis filter controls one particular frequency band, with passbands defined by 0–500, 500–1000, 1000–2000, 2000–3000, and 3000–4000 Hz. The synthesis filters connected in parallel define the frequency responses of the shaping filters. Figure 17.10 shows the block diagram of the pulse shaping filter, exhibiting the mechanism by which the frequency response is controlled. Denoting the impulse responses of the synthesis filters by hi[n], i=1 to 5, the total response of the pulse shaping filter is

[pic]

with 0 ≤ vsi ≥ 1 being the voicing strengths. Above Equation results from the fact that the synthesis filters are connected in parallel. The noise shaping filter, on the other hand, has the response

[pic]

[pic]

Figure 1.6 Block diagram of the pulse shaping filter

Thus, the two filters complement each other in the sense that if the gain of one filter is high, then the gain of the other is proportionately lower, with the total gain of the two filters remaining constant at all times. As we will see later in the chapter, during MELP decoding, both pulse excitation and noise excitation are generated to have the same power level.

The synthesis filters are implemented as FIR with 31 taps. FIR filters are utilized due to the following reasons:

• Linear phase. A linear phase system simply means that the group delay is constant with frequency, which is a feature of FIR systems. A constant group delay for all frequency values will not distort the shape of a pulse passing through the system, since all components are delayed by the same amount, which is important for the processing of a pulse excitation sequence. • Frequency response can be changed with relative ease. As we have already seen, the total response of the filter can be obtained by some scaling and sum operations, which can be done in practice at relatively low cost. In fact, by combining the synthesis impulse responses together, only one convolution is needed to compute the output, instead of doing it five times. • Interpolation can be done with relative ease. To guarantee smoothness in transition between frames, the impulse responses of the shaping filters are interpolated during MELP decoding. The FIR nature of the filter allows linear interpolation of the impulse responses, or filter coefficients, without instability concerns, since stability is guaranteed for FIR systems. Figure 17.11 shows the impulse responses (hi[n], i=1 to 5, n=0 to 30) of the synthesis filters with the magnitude responses shown in Figure 1.7& 1.8.

[pic]

Figure 1.7 Impulse responses of the FS MELP synthesis filters

[pic]

Figure 1.8 Magnitude responses of the FS MELP synthesis filters

The function of the shaping filters become obvious: they determine how pulse like or noise-like the mixed excitation is in each of the five frequency bands. Within the context of MELP coding, the two shaping filters are used only during decoding, where mixed excitation is generated.

PITCH PERIOD AND VOICING STRENGTH ESTIMATION

The FS MELP coder employs a sophisticated procedure to accurately estimate the pitch period and voicing strengths, since these parameters play a weighty role in the quality of the synthetic speech. In fact, fractional refinement is used throughout the encoding process. An analysis filter bank is utilized to separate the input signal into five bands, with the voicing strength found in each band. The operations described in this section are performed only during encoding, where

the speech signal is analyzed with the required parameters extracted.

Analysis Filters

The five analysis filters possess the same bandwidth settings as for the synthesis filters. Unlike the synthesis filters discussed above, these filters are implemented as sixth-order Butterworth [Oppenheim and Schafer, 1989]; that is, they are IIR. This design decision is based mainly on the relatively low computational cost associated with IIR configurations. For instance, sixth-order Butterworth requires 12 multiplications per output sample, whereas for a 31-tap FIR filter, 31 products are needed; and both configurations meet or exceed the required passband and stopband characteristics. Nonlinearity in phase response—typical of IIR systems—is of minor importance here, since the filters’ outputs are used for the correlation computation.

Positions of Windows

Before continuing with pitch period estimation, the positions of some signal processing windows with respect to the signal frames are first described. Figure 1.9 summarizes the major windows utilized by the FS MELP coder. Like the FS1015 LPC coder, each frame is comprised of 180 samples. The positions of these analysis windows are selected to facilitate interpolation, since parameters of a given frame are interpolated between two different sets, calculated from the analysis windows

[pic]

Figure 1.9 Positions of different windows with respect to the signal frames.

centered at the beginning sample and end sample of the frame (gain parameter is an exception to this rule). As we can see, some windows are overlapping and others are not. For most parameters (except gain), the analysis window corresponding to the present frame is centered on the last sample of the present frame. For instance, Fourier magnitudes utilize a 200-sample window, this window consists of the last 100 samples of the present frame, and the first 100 samples of the future frame.

First-Stage Pitch Period Estimation

The input speech signal is filtered by the first analysis filter, with a passband of 0 to 500 Hz. For each 180-sample frame, the normalized autocorrelation

[pic]

Where

[pic]

is calculated for l=40, 41……160. The resultant pitch period is the corresponding value of l for which r[l] is maximized. Normalization is used to compensate for variations in signal energy; its introduction also simplifies voicing classification since the same threshold can be applied to all frames (low-energy frames excluded)

Autocorrelation calculation according to utilizes 160 products. Taking into account the range of l, it is straightforward to verify that for each pitch period estimation operation, 320 consecutive samples of the signal are involved. The 320 consecutive samples constitute the pitch period estimation window. This window is based on 160 samples of the current frame, plus 160 samples of the next frame. The sample s[0] in corresponds to the first sample of the next frame.

[pic]

Figure 1.10 Illustration of first-stage pitch period estimation

Low-Band Voicing Strength

Voicing strength of the low band (0–500 Hz, vs1) is equal to the normalized autocorrelation value associated with T(1), given by

[pic]

This value of voicing strength is subjected to modification later according to other properties of the signal.

Aperiodic Flag

The aperiodic flag depends on the low-band voicing strength:

[pic]

For high voicing strength (above 0.5), the frame is strongly periodic and the flag is set to zero. For weak periodicity, the flag is set to one, signaling the MELP decoder to generate aperiodic pulses as voiced excitation ( jittery voiced). The flag is transmitted as part of the MELP bit-stream using one bit.

Voicing Strength Determination for the Four High-Frequency Bands

Figure 1.11 shows the system used to estimate the voicing strengths of the four upper frequency bands. Details are described below.

[pic]

Figure 1.11 Illustration of bandpass voicing strengths estimation

• Calculate r1 = r[T(1)], where r[ . ] is the normalized autocorrelation and T(1) is the first-stage real pitch period. The signal used to calculate the autocorrelation is the output from the corresponding bandpass filter. • Calculate r2 = r[T(1)]. This time, however, the signal used is the envelope of the bandpass signal, where the envelope is obtained by full-wave rectification (absolute value of the samples), followed by lowpass filtering. The lowpass filter possesses a zero at Ɯ=0 so as to cancel the DC component. Thus, the full-wave rectified signal is smoothed. In many instances, the envelope of the bandpass signal reflects better the underlying periodicity due to the fundamental pitch frequency; in fact, these envelopes tend to rise and fall with each pitch pulse. Autocorrelation analysis of these bandpass signal envelopes yields an estimate of the amount of pitch periodicity in the corresponding band. Figure 1.12 shows some example waveforms, where we can see that the envelope roughly displays the same periodicity due to the fundamental pitch period. The autocorrelation value is decremented by 0.1 to compensate for an experimentally observed bias. • The voicing strength of the band is given by [pic]

Repeating the above procedures for the four remaining filters leads to the voicing strengths vs2, vs3, vs4, and vs5. Thus, the voicing strength is determined by comparing the autocorrelation values obtained directly from the bandpass signal and the one obtained from the envelope of the signal itself, whichever is higher.

LP Analysis and Prediction Error

A tenth-order LP analysis is performed on the input speech signal using a 200- sample (25-ms) Hamming window centered on the last sample in the current frame (Figure 1.9). The autocorrelation method is utilized together with the Levinson–Durbin algorithm. The resultant coefficients are bandwidth-expanded with a constant of 0.994. The coefficients are quantized and used to calculate the prediction-error signal.

Peakiness

Peakiness of the prediction-error signal is calculated over a 160-sample window centered on the last sample in the current frame (Figure 1.9). The peakiness value is defined by

[pic]

and is a measure of the ‘‘peaky’’ level of the signal. Generally, the ‘‘peaky’’ level refers to the presence of samples having relatively high magnitudes (‘‘peaks’’) with respect to the average magnitude of a group of samples, which is effectively captured by (1.12). For high peakiness, the signal is expected to have outstanding ‘‘peaks.’’ In linear algebra terms, peakiness is the ratio of the L2 norm to the L1 norm of the signal.

Peakiness and Voicing Strengths

According to the value of peakiness, voicing strengths of the lowest three bands are modified according to the following:

• If p > 1.34 then vs1= 1. • If p > 1.60 then vs2= 1 and vs3= 1.

Thus, when peakiness is high, it overwrites some of the voicing strengths by setting them directly to a high value. As we will see later, each voicing strength is quantized to 0 or 1, transmitted using 1 bit.
A combination of peakiness and autocorrelation measures is highly effective in voicing state classification. Typical unvoiced frames have low peakiness and autocorrelation, leading to weak voicing strengths. For transition frames, however, peakiness is high with medium autocorrelation. For these frames, the relatively low autocorrelation sets the aperiodic flag to 1 (1.10), signaling the decoder to generate random periods. On the other hand, high peakiness sets the voicing strengths to their maximum values; the resultant conditions indicate the jittery voiced state. For voiced frames, peakiness is medium with high autocorrelation; this would set the aperiodic flag to zero, with high voicing strengths. The MELP coder relies on the aperiodic flag combined with voicing strengths to manage voicing state information.

[pic]
Figure 1.12 Bandpass output from the third analysis filter (1–2 kHz), obtained using a voiced portion of a speech waveform (top left). The full-rectified bandpass output (top right). The smoothed bandpass envelope (bottom).

Final Pitch Period Estimation

The prediction-error signal is filtered using a lowpass filter with 1-kHz cutoff, with the output used for pitch period estimation. The result is obtained by searching in a range surrounding the first-stage pitch period T(1). Reestimating the pitch period using prediction error yields a more accurate result, since the formant structure of the original speech signal is removed.

ENCODER OPERATIONS

After studying the core techniques in previous sections, we are ready to put pieces together so as to form the MELP encoder; a block diagram is shown in Figure 1.2.

Bandpass Voicing Strength Encoder

Voicing strengths of the four high-frequency bands are quantized according to the following pseudocode:

The procedure takes the voicing strength of the five bands as input. For the unvoiced case, which is determined by the magnitude of vs1, the quantized voicing strengths (qvsi) of the four high-frequency bands are set to zero (Lines 2 and 3). Otherwise, they are quantized to zero or one according to their magnitudes. The case of (qvs2, qvs3, qvs4, qvs5) = (0, 0, 0, 1) is explicitly avoided in Lines 10 and 11. Finally, the four quantized voicing strengths are returned in Line 12.
[pic]

Quantization of Pitch Period and Low-Band Voicing Strength

The final pitch period T and the low-band voicing strength vs1 are quantized jointly using 7 bits. If vs1≤0.6, the frame is unvoiced and the all-zero code is sent. Otherwise, log T is quantized with a 99-level uniform quantizer ranging from log 20 to log 160. The resulting index is mapped to the appropriate code based on a table. The quantized vs1 denoted as qvs1 is equal to 0 for the unvoiced state and 1 for the voiced state. No separate transmission is necessary since the information can be recovered from the same table.

Gain Computation

The input speech signal gain is measured twice per frame using a pitch-adaptive window length. This length is identical for both gain measurements and is determined as follows:

• If vs1 > 0.6, the window length is the shortest multiple of T(1) (first-stage, pitch period), which is longer than 120 samples. If this length exceeds 320 samples, it is divided by 2. This case corresponds to voiced frames, where pitch synchronization is sought during gain computation. By utilizing an integer multiple of pitch period, variation in the value of gain with respect to the position of the window is minimized. • If vs1≤ 0.6, the window length is 120 samples. Thus, for unvoiced or jittery voiced frames, a default window length is used.

Gain calculation for the first window produces g1 and is centered 90 samples before the last sample in the current frame (Figure 1.9). The calculation for the second window produces g2 and is centered on the last sample in the current frame. The equation for gain calculation is

[pic] where N is the window length and s[n] the input speech signal. The range of n depends on the window’s length as well as the particular gain (g1 or g2). The 0.01 factor prevents the argument from going too close to zero. If a gain measurement is less than 0, it is clamped to 0. The gain measurement assumes that the input signal range is [-32768, 32767] (16 bits per sample).

Gain Encoder

Gain g2 is quantized with a 5-bit uniform quantizer ranging from 10 to 77 dB. Gain g1 is quantized with 3 bits using the pseudocode described below:

[pic]

The procedure takes the gains g1 and g2 of the current frame and g2,past of the past frame. In Line 1 some conditions are verified to determine whether the frame is steady-state (slight change in energy). If the condition is met, zero is returned as the encoding result. Otherwise the frame is transitory and a seven-level uniform quantizer is used. The limits of the quantizer (gmin, gmax) are calculated in Lines 4 to 9; encoding through the uniform quantizer is performed in Line 10, resulting in the index set {1, 2, . . . , 7}. Thus, a total of eight levels exist, deployable with 3 bits. The function UNIFORM in Line 10 takes g1 as input and encodes it using a uniform quantizer (Chapter 5) having the input range [gmin, gmax] and seven codewords. The method is essentially an adaptive quantization scheme, where parameters of the past and future are utilized to improve efficiency.

Bit Allocation

[pic]
Table 1.1 Bit Allocation for the FS MELP Coder

Table 1.1 summarizes the bit allocation scheme of the FS MELP coder. The LPCs are quantized as LSFs using MSVQ. Synchronization is an alternating one/zero pattern. Error protection is provided for unvoiced frames only, using 13 bits. A total of 54 bits are transmitted per frame, at a frame length of 22.5 ms. A bit-rate of 2400 bps results.

DECODER OPERATIONS

Figure 1.14 shows the block diagram of the MELP decoder, where the bit-stream is unpacked with the indices directed to the corresponding decoder. Comparing with Figure 1.2, we can see that the speech production model is embedded within the structure of the decoder. Two additional filters are added along the processing path: the spectral enhancement filter taking the mixed excitation as input, and the pulse dispersion filter at the end of the processing chain. These filters enhance the perceptual quality of the synthetic speech.

[pic]
Figure 1.13 Block diagram of the MELP decoder

Parameter Decoding and Interpolation

In MELP decoding, parameters from the bit-stream are unpacked and decoded according to the appropriate scheme. These parameters are LPC (LSF), pitch period/ low-band voicing strength, bandpass voicing strengths, gains (g1 and g2), aperiodic flag, and Fourier magnitudes. The mentioned parameters represent information on the frame. Most of them are interpolated linearly during speech synthesis.
For unvoiced frames (detectable from the pitch period/low-band voicing strength code), default values for some parameters are used. These include 50 for the pitch period, 0.25 for the jitter, all 1’s for Fourier magnitudes, and all 0’s for voicing strengths. Default values are necessary for unvoiced frames since linear interpolation is performed on a pitch-period-by-pitch-period basis during speech synthesis. Note that a new parameter—jitter—is introduced. Jitter is used only in the decoder to control the amount of randomness during aperiodic voiced excitation generation.

For voiced frames, the value of jitter is assigned according to: jitter=0.25 if aperiodic flag is equal to one; otherwise, jitter=0. In this case, pitch period is decoded from the bit-stream. After interpolation, the actual pitch period to use is given by

[pic] with To being the decoded and interpolated pitch period, and x a uniformly distributed random number in the interval [-1, 1]. In this way, erratic periods are generated, simulating the conditions encountered in transition frames. The quantity (To · jitter · x) is the period jitter described in Figure 17.1. Also note that the maximum perturbation to the pitch period is equal to ±25%, a limit found to be adequate for most practical situations.
During speech synthesis, the signal is generated on a pitch-period-by-pitch period basis. That is, at a given instant of time no, where no € [0, 179] pertains to the current frame, the set of parameters required for synthesis is determined from linear interpolation of data from the past frame and present frame. The interpolation factor a is given by

[pic]

This interpolation factor is applied in a similar manner for the parameters LPC (LSF), pitch period, jitter, Fourier magnitudes, and shaping filters’ coefficients. Even though voicing strengths can be interpolated, interpolating the shaping filters’ coefficients results generally in lower computational cost. As an example, the pitch period value to be used for synthesis is given by

[pic] with the result rounded to the nearest integer. The gain to use is given by the interpolation formulas:
[pic]

For the case that no+T > 180, that is, the period under consideration crosses the frame boundary, the parameters are still interpolated using the same rule. For the next period, no is adjusted by subtracting 180 to reflect the coordinate of the new frame.

Mixed Excitation Generation

The T-sample pulse sequence generated from the Fourier magnitudes has unit rms value (Section 17.2). This sequence is filtered by the pulse shaping filter and added with the filtered noise sequence to form the mixed excitation. Noise is generated by a zero-mean uniform random number having unit rms value. Coefficients of the filters are interpolated pitch synchronously.

Spectral Enhancement Filter

This filter has the system function
[pic]
where the ai are the linear prediction coefficients. The parameters m, a, and b are made adaptive depending on the signal conditions. This filter is identical to the widely used postfilter in CELP coders. It is stated without further comment that the sole purpose of the spectral enhancement filter, as its name implies, is to enhance the perceptual quality of the synthetic speech by accentuating the original spectral characteristics.

Synthesis Filter

This is a formant synthesis filter in direct form, with the coefficients corresponding to the interpolated LSFs.

Scale Factor Calculation

Power of the synthesis filter’s output must equal the interpolated gain g of the current period. Since the excitation is generated at an arbitrary level, a scaling factor go is calculated so as to scale the synthesis filter’s output (y[n], Figure 1.14) to produce the appropriate level. This is given by
[pic]
By multiplying go by y[n], the resultant T-sample sequence will have a power of [pic], or g dB.
Pulse Dispersion Filter
This is the last block in the decoding chain. The filter is a 65-tap FIR filter derived from a spectrally flattened triangle pulse. Figure 1.14 shows the impulse response and magnitude response of this filter. As we can see, it is almost an all pass filter, where changes in magnitude response are relatively small.
What is the purpose of this ineffectual looking filter? The explanation from McCree and Barnwell [1995] is that it improves the match of bandpass-filtered synthetic and natural speech waveforms in regions not containing a formant resonance, where the bandpass-filtered natural speech has a smaller peak-to-valley ratio than the synthetic speech. We can think of the function of the filter as to ‘‘stir’’ slightly the spectrum of the synthesis filter’s output so as to improve naturalness; this is beneficial since mixed excitation is formed by combining the noise and pulse through a filter bank with fixed bandwidth.

[pic]
Figure 1.14 Impulse response (left) and magnitude response (right) of the pulse dispersion filter.

SUMMARY

The theory and practice of the MELP coder are discussed in this chapter. It is shown that the speech production model of MELP is basically an improvement with respect to LPC, where additional parameters are introduced to add naturalness, smoothness, and adaptability to more diverse signal conditions. The MELP coder has achieved all these advantages without elevating the overall bit-rate, which is mainly due to the inclusion of vector quantization techniques. Much of the buzzy quality usually associated with LPC is eliminated by introducing frequencydependent voicing strength, jittery voiced state with aperiodic excitation pulses, and enhancement filters to better match the synthetic waveform with the original. MELP pertains to the family of parametric coders. When comparing with hybrid coders such as CELP, the bit-rate requirement is much lower since detailed description for the excitation is avoided. Instead, a coarse set of parameters is extracted to represent the excitation. Similar to LPC, it can also be classified as a source-controlled multimode coder, since different encoding schemes are applied depending on the properties of the signal.
Many details of the operations of the encoder and decoder are simplified to facilitate digestion of the chapter’s material. Readers are referred to official documentation for a complete description, where additional techniques are included to improve robustness and accuracy under various practical situations. Like any coder,
MELP is not perfect and many studies have been published with the aim of enhancement. See Unno et al. [1999] for improvement ideas, where transition noise, plosive reproduction, and low-pitch male speakers are addressed. In McCree and DeMartin [1998], the bit-rate is reduced to 1.7 kbps with alternative quantization techniques. In Stachurski et al. [1999], attempts were made to achieve near toll quality at 4.0 kbps.
The ideas of mixed excitation, where a noise component and a periodic component are combined together, have been investigated by many researchers in the past. The multiband excitation coder, for instance, replaces the single voiced/unvoiced classification of the LPC coder with a set of such decisions over harmonic intervals in the frequency domain [Griffin and Lim, 1988]. The idea was subsequently standardized by the International Maritime Satellite Corporation (Inmarsat) in 1990 at a bit-rate of 4.15 kbps. In Kondoz [1994], additional proposals are given to reduce the bit-rate to 2.4 kbps and below. However, when the model on which multiband excitation is based no longer fits the input signal, the resultant reproduction quality is greatly reduced. This is particularly true when there is music or noise mixed with the speech signal [Cox, 1995]. The MELP coder, on the other hand, behaves quite well even for certain classes of nonspeech signals. Its quality is mainly due to the robustness and flexibility of the underlying model, allowing good adaptation to a more general class of audio signals.

Development Process

After the Initial Literature Survey was complete the thorough study of DSP Architecture and tools was the next step. After familiarization with the development tools the code was ported to the Code Composer Studio and tested on the TMS320C6416. Finally optimization was performed via the use of intrinsics to achieve real time processing for MELP speech.

1 DSP Architecture

1 INTRODUCTION

Digital signal processors such as the TMS320C6x (C6x) family of processors are like fast special-purpose microprocessors with a specialized type of architecture and an instruction set appropriate for signal processing. The C6x notation is used to designate a member of Texas Instruments’ (TI) TMS320C6000 family of digital signal processors. The architecture of the C6x digital signal processor is very well suited for numerically intensive calculations. Based on a very-long-instruction-word (VLIW) architecture, the C6x is considered to be TI’s most powerful processor. Digital signal processors are used for a wide range of applications, from communications and controls to speech and image processing. The general-purpose digital signal processor is dominated by applications in communications (cellular).
Applications embedded digital signal processors are dominated by consumer products. They are found in cellular phones, fax/modems, disk drives, radio, printers, hearing aids, MP3 players, high-definition television (HDTV), digital cameras, and so on. These processors have become the products of choice for a number of consumer applications, since they have become very cost-effective. They can handle different tasks, since they can be reprogrammed readily for a different application. DSP techniques have been very successful because of the development of low-cost software and hardware support. For example, modems and speech recognition can be less expensive using DSP techniques. DSP processors are concerned primarily with real-time signal processing. Realtime processing requires the processing to keep pace with some external event, whereas non-real-time processing has no such timing constraint. The external event to keep pace with is usually the analog input. Whereas analog-based systems with discrete electronic components such as resistors can be more sensitive to temperature changes, DSP-based systems are less affected by environmental conditions. DSP processors enjoy the advantages of microprocessors. They are easy to use, flexible, and economical.

Various technologies have been used for real-time processing, from fiberoptics for very high frequency to DSPs very suitable for the audio-frequency range. Common applications using these processors have been for frequencies from 0 to 96kHz. Speech can be sampled at 8 kHz (the rate at which samples are acquired), which implies that each value sampled is acquired at a rate of 1/(8 kHz) or 0.125ms. A commonly used sample rate of a compact disk is 44.1kHz. Analog/digital (A/D)-based boards in the megahertz sampling rate range are currently available.

The basic system consists of an analog-to-digital converter (ADC) to capture an input signal. The resulting digital representation of the captured signal is then processed by a digital signal processor such as the C6x and then output through a digital-to-analog converter (DAC). Also included within the basic system are a special input filter for anti-aliasing to eliminate erroneous signals and an output filter to smooth or reconstruct the processed output signal.

2 DSK SUPPORT TOOLS

1. TI’s DSP starter kit (DSK). The DSK package includes: (a) Code Composer Studio (CCS), which provides the necessary software support tools. CCS provides an integrated development environment (IDE), bringing together the C compiler, assembler, linker, debugger, and so on.
(b) A board, shown in Figure 1.1, that contains the TMS320C6416 (C6416) fixed-point digital signal processor as well as a 32-bit stereo codec for input and output (I/O) support.
(c) A universal synchronous bus (USB) cable that connects the DSK board to a PC.
(d) A 5V power supply for the DSK board.

TI C6416 DSK Overview:
The digital signal processor is considered to be the heart of the main system. It is designed to perform the beamforming as well as the source localization task. The processor used is a Texas Instruments C6416 DSP which operates at clock speed of 1 GHz. The processor comes preinstalled onto a DSP Starter Kit by Spectrum Digital, called as the TMS320C6416T DSK board. The DSK board makes it easier to interface the DSP with external peripherals, analogue to digital converters, external memory units, power supplies, and is controlled using the CCS Studio software (Texas Instruments) through a USB interface from a PC running on normal Microsoft Windows environment. The CCS Studio software comes with a C compiler and an assembler which, helps in programming and controlling the Digital Signal Processor from the pc over the USB interface. The DSK board also comes with four connections, two for input and two for output audio devices. A microphone input port, a line in port, a line out port, and a headphone port. Each of these ports is interfaced to the DSP C6416 through onboard A/D and D/A converters as well as the preinstalled codec on the DSK board i.e. AIC23.

The Line In port is used for sound input from a device that is powered by a preamp. It can be used with any stereo microphone input. For this project a 3.5mm stereo jack is used to connect the microphones to the board. The AIC23 Codec is used to program the onboard A/D and D/A converters, set the sampling rate and control the input and output data through the four ports; Mic in, Line in, Headphones and Line out. The codec is controlled by a debug software i.e. CCS Studio 3.1 that is provided with most of the TI C6000 DSP boards. CCS Studio can be used to program the serial ports, USB ports, dip switches, LEDs, AIC23 Codec, input and output ports on board the DSK.
[pic] Figure 2.1

The figure below shows the AIC Codec with the A/D and D/A converters connected to the input and output ports of the DSK Board.

[pic]

3 CODE COMPOSER STUDIO

CCS provides an IDE to incorporate the software tools. CCS includes tools for code generation, such as a C compiler, an assembler, and a linker. It has graphical capabilities and supports real-time debugging. It provides an easy-to-use software tool to build and debug programs.

CCS provides an IDE to incorporate the software tools. CCS includes tools for code generation, such as a C compiler, an assembler, and a linker. It has graphical capabilities and supports real-time debugging. It provides an easy-to-use software tool to build and debug programs.
The C compiler compiles a C source program with extension .c to produce an assembly source file with extension.asm.The assembler assembles an.asm source file to produce a machine language object file with extension.obj.The linker combines object files and object libraries as input to produce an executable file with extension.out. This executable file represents a linked common object file format (COFF), popular in Unix-based systems and adopted by several makers of digital signal processors . This executable file can be loaded and run directly on the C6416 processor.

To create an application project, one can “add” the appropriate files to the project. Compiler/linker options can readily be specified. A number of debugging features are available, including setting breakpoints and watching variables; viewing memory, registers, and mixed C and assembly code; graphing results; and monitor-ing execution time. One can step through a program in different ways (step into, over, or out).
Real-time analysis can be performed using real-time data exchange (RTDX). RTDX allows for data exchange between the host PC and the target DSK, as well as analysis in real time without stopping the target. Key statistics and performance can be monitored in real time. Through the joint team action group (JTAG), communication with on-chip emulation support occurs to control and monitor program execution. The C6713 DSK board includes a JTAG interface through the USB port.

4 SUPPORT FILES

The following support files located in the folder support (except the library files) are used for most of the examples and projects discussed in this book:

1. C416dskinit.c: contains functions to initialize the DSK, the codec, the serial ports, and for I/O. It is not included with CCS.
2. C416dskinit.h: header file with function prototypes. Features such as those used to select the mic input in lieu of line input (by default), input gain, and so on are obtained from this header file (modified from a similar file included with CCS).
3. C6416dsk.cmd: sample linker command file. This generic file can be changed when using external memory in lieu of internal memory.
4. Vectors_intr.asm: a modified version of a vector file included with CCS to handle interrupts. Twelve interrupts, INT4 through INT15, are available, and INT11 is selected within this vector file. They are used for interrupt-driven programs.
5. Vectors_poll.asm: vector file for programs using polling.
6. rts6600.lib, dsk6416bsl.lib, csl6416.lib : run-time, board, and chip support library files, respectively. These files are included with CCS and are located in C6000\cgtools\lib, C6000\dsk6416\lib, and c6000\bios\lib, respectively.

Code Generation and Options
Various options are associated with the code generation tools: C compiler and linker to build a project.
Compiler Option
Select Project from menu and go to Build Options. Select the following for the compiler option with Basic (for Category): (1) c641x{-mv6416} (for Target Version), (2) Full Symbolic Debug (for Generate Debug Info), (3) Speed most critical (for Opt Speed vs. Size), and (4) None (for Opt Level and Program Level Opt). Select the Preprocessor Category and type for Define Symbols{d}: CHIP_6416, and from the Feedback Category, select for Interlisting: OPT/C and ASM{-s}. The resulting compiler option is
-g -s
The -g option is used to enable symbolic debugging information, useful during the debugging process, and is used in conjunction with the option -s to interlist the C source file with the assembly source file (an additional option, -k, can be used to retain the assembly source file). The -g option disables many code optimizations to facilitate the debugging process. Press OK.
Selecting C621x or C64xx for Target Version invokes a fixed-point implementation.
The C6416-based DSK can be used for fixed-point processing. Selecting C641x as Target Version invokes a fixed-point implementation. If No Debug is selected (for Generate Debug Info) and
-o3: File is selected (for Opt Level), the Compiler option is automatically changed to
-s -o3
The -o3 option invokes the highest level of optimization for performance or execution speed. For now, speed is not critical (neither is debugging). Use the compiler options -gs (which you can also type directly in the compiler command window). Initially, one would not optimize for speed but to facilitate debugging.

Linker Option
Click on Linker (from CCS Build Options). The map file can provide useful information for debugging (memory locations of functions, etc.).The -c option is used to initialize variables at run time, and the -o option is used to name the linked executable output file.

Note that you can/should choose to store the executable file in the subfolder “Debug,” within the folder, especially during the debugging stage of a project.
Again, these various compiler and linker options can be typed directly within the appropriate command windows. In lieu of adding the three library files to the project by retrieving them from their specific locations, it is more convenient to add them within the linker option window Include Libraries{-l}, typing them directly, separated by a comma. However, they will not be shown in the Files window.

Monitoring the Watch Window
Verify that the processor is still running (and dip switch #0 is pressed) . Note the indicator “DSP RUNNING” at the bottom left of CCS. The Watch window allows you to change the value of a parameter or to monitor a variable:
1. Select View and then select Quick Watch window, which should be displayed on the lower section of CCS. Type variable name to be monitored, then click on “Add to Watch.” The variable value should appear in the Watch window.

2 DSP Supporting Architecture

The main supporting features used in the project were the AIC-23 Codec, The McBSP and the EDMA.

1 AIC-23 Codec

1 Introduction

The TLV320AIC23 is a high-performance stereo audio codec with highly integrated analog functionality. The analog-to-digital converters (ADCs) and digital-to-analog converters (DACs) within the TLV320AIC23 use multibit sigma-delta technology with integrated oversampling digital interpolation filters. Data-transfer word lengths of 16, 20, 24, and 32 bits, with sample rates from 8 kHz to 96 kHz, are supported. The ADC sigma-delta modulator features third-order multibit architecture with up to 90-dBA signal-to-noise ratio (SNR) at audio sampling rates up to 96 kHz, enabling high-fidelity audio recording in a compact, power-saving design. The DAC sigma-delta modulator features a second-order multibit architecture with up to 100-dBA SNR at audio sampling rates up to 96 kHz, enabling high-quality digital audio-playback capability, while consuming less than 23 mW during playback only. The TLV320AIC23 is the ideal analog input/output (I/O) choice for portable digital audio-player and recorder applications, such as MP3 digital audio players.
Integrated analog features consist of stereo-line inputs with an analog bypass path, a stereo headphone amplifier, with analog volume control and mute, and a complete electret-microphone-capsule biasing and buffering solution. The headphone amplifier is capable of delivering 30 mW per channel into 32 Ω. The analog bypass path allows use of the stereo-line inputs and the headphone amplifier with analog volume control, while completely bypassing the codec, thus enabling further design flexibility, such as integrated FM tuners. A microphone bias-voltage output provides a low-noise current source for electret-capsule biasing. The AIC23 has an integrated adjustable microphone amplifier (gain adjustable from 1 to 5) and a programmable gain microphone amplifier (0 dB or 20 dB). The microphone signal can be mixed with the output signals if a sidetone is required.
While the TLV320AIC23 supports the industry-standard oversampling rates of 256 fs and 384 fs, unique oversampling rates of 250 fs and 272 fs are provided, which optimize interface considerations in designs using TI C54x digital signal processors (DSPs) and universal serial bus (USB) data interfaces. A single 12-MHz crystal can supply clocking to the DSP, USB, and codec. The TLV320AIC23 features an internal oscillator that, when connected to a 12-MHz external crystal, provides a system clock to the DSP and other peripherals at either 12 MHz or 6 MHz, using an internal clock buffer and selectable divider. Audio sample rates of 48 kHz and compact-disc (CD) standard 44.1 kHz are supported directly from a 12-MHz master clock with 250 fs and 272 fs oversampling rates. Low power consumption and flexible power management allow selective shutdown of codec functions, thus extending battery life in portable applications. This design solution, coupled with the industry’s smallest package, the TI proprietary MicroStar Junio using only 25 mm2 of board area, makes powerful portable stereo audio designs easily realizable in a cost-effective, space-saving total analog I/O solution: the TLV320AIC23.

2 Features

• High-Performance Stereo Codec

o 90-dB SNR Multibit Sigma-Delta ADC (A-weighted at 48 kHz) o 100-dB SNR Multibit Sigma-Delta DAC (A-weighted at 48 kHz) o 1.42 V – 3.6 V Core Digital Supply: Compatible With TI C54x DSP Core Voltages o 2.7 V – 3.6 V Buffer and Analog Supply: Compatible Both TI C54x DSP Buffer Voltages o 8-kHz – 96-kHz Sampling-Frequency Support • Software Control Via TI McBSP-Compatible Multiprotocol Serial Port o 2-wire-Compatible and SPI-Compatible Serial-Port Protocols o Glueless Interface to TI McBSPs • Audio-Data Input/Output Via TI McBSP-Compatible Programmable Audio Interface o I2S-Compatible Interface Requiring Only One McBSP for both ADC and DAC o Standard I2S, MSB, or LSB Justified-Data Transfers o 16/20/24/32-Bit Word Lengths • Audio Master/Slave Timing Capability Optimized for TI DSPs (250/272 fs), USB mode o Industry-Standard Master/Slave Support Provided Also (256/384 fs), Normal mode o Glueless Interface to TI McBSPs • Integrated Total Electret-Microphone Biasing and Buffering Solution o Low-Noise MICBIAS pin at 3/4 AVDD for Biasing of Electret Capsules o Integrated Buffer Amplifier With Tunable Fixed Gain of 1 to 5 o Additional Control-Register Selectable Buffer Gain of 0 dB or 20 dB • Stereo-Line InputsI o Integrated Programmable Gain Amplifier o Analog Bypass Path of Codec • ADC Multiplexed Input for Stereo-Line Inputs and Microphone • Stereo-Line Outputs o Analog Stereo Mixer for DAC and Analog Bypass Path • Analog Volume Control With Mute • Highly Efficient Linear Headphone Amplifier o 30 mW into 32 Ω From a 3.3-V Analog Supply Voltage • Flexible Power Management Under Total Software Control o 23-mW Power Consumption During Playback Mode o Standby Power Consumption

Similar Documents

Premium Essay

Mba Essay

...I used to play soccer for a club,just for recreational purposes,in fact i was one of the cofounders of the team. The team we assembled was a mixture of young and old, and for this reason we were the laughing stock of the league, because all other teams were made up solely of young players, who were exceptionally talented. The team ended up on the wrong side of the score for the first few games we played, and got nicknamed the “whopping boys”. Eventually we grew tired of the nickname and of our performances on the field, and we decided to try and improve things, first thing we did was to elect a leader for the club. Even though i didnʼt want the job, i was voted into the position, and as the president it was my duty to represent my team when the league called for club meetings. At the time we were all students, so it was decided that we would all contribute towards any and all expenses,but unfortunately when you dealing with a blend of young and old, things donʼt always go according to plan, people constantly made up excuses for not showing up for practice, or for not contributing towards our equipment. Even though it wasnʼt my duty, i took it upon myself to ensure that every single player showed up for practice, i used to drive up to the houses of all those who didnʼt have any transportation. It was a tiring job, but i realized that if i wanted the team to be successful, i had to make certain sacrifices, some of which included taking money out of my own pocket...

Words: 750 - Pages: 3

Free Essay

1t210 Appendix a

...Axia College Material Appendix A Final Project Overview and Timeline Final Project Overview The final project consists of a checkout application. This application—similar to practical programs at many supermarkets—includes the following elements: • Complete requirements analysis • Design • Verification • Validation and test documentation The checkout application is a program that allows users to enter items and totals will be added up and results presented to the user. Requirements The requirements will change for each assignment section. This is because as we go along you will be able to add to the previous assignment using what you have learned during the course. Each assignment will require you to perform analysis and design and testing. We will learn more formal testing in week 6. Final Project Timeline You should budget your time wisely and work on your project throughout the course. As outlined below, some CheckPoints and assignments in the course are designed to assist you in creating your final project. If you complete your course activities and use the feedback provided by the instructor, you will be on the right track to complete your project successfully. □ Suggested in Week One: Read Appendix A regarding the final project overview and timeline. □ Due in Week Two: Initial Application Development □ Due in Week Four: Additional Application Development □ Due in Week Six: Final Application Development and Test Cases ...

Words: 262 - Pages: 2

Free Essay

Reflective Practise

...patient for hearing aid suitability. It was agreed that these three sessions encompassed all aspects in Audiology she may come across in her future career. For example, she can fit a hearing aid, she can assess a patient and she has learnt that not all fittings are straight forward, for those presenting with a unique problem(s). The end product is patient satisfaction, provide a solution for the patient and to support that in practise. Leanne has come on in leaps and bounds since her early days in the department. She is confident, but finds it difficult to ask questions. However, she does manage talk about things in the appointment through her reflective reporting. This is something I may need to talk with her about when I have the final meeting with her. But I am not overly concerned at this moment in time. The 3 reflective reports that Leanne produces is of good quality, informative and reasonably accurate. It also highlights aspects of training she mentions that we both have undertaken together in the appointment, so I suppose she is reporting her own training and that of mine in her words, that I can use as evidence that can be signed off. Each three reflective reports enclosed have been signed by myself and my mentor-supervisor, including this document. Trainee mentor…………………….print name………………….date:……………… Mentor-supervisor…………………print...

Words: 309 - Pages: 2

Premium Essay

Two Students Accounting Case

...the students are Bill and John. Bill believes that the completed -contract method is most like recognizing revenue at point of delivery because in the end the final product is delivered and has fulfilled any requirements to recognize revenue. John believes that percentage-of-completion is most like point of delivery and this allows a company to recognize revenue over time. I support Bill’s opinion that the completed-contract method is closest to recognizing revenue at point of delivery. The reason I support this is because while there is still construction taking place, as in the percentage-of-completion method, there still is no actual product being delivered. Along with no product being delivered, it is possible that the final product may never actually be made. If there’s a chance the end product not being made then there is no way to recognize revenue for that product. Using the completed contract method we hold off on recognizing any revenue until the final product is finished and delivered to the client. In my opinion completed contract fulfills the requirements of revenue recognition which are (1) the amount has to be realized / realizable and (2) the revenue must be earned. In completed contract at point of delivery the item can be considered earned now that it is completed and ownership has passed to the final customer. Percentage-of-completion does help serve large contracts that take years to complete so that a company can recognize some revenue every year. The problem...

Words: 364 - Pages: 2

Premium Essay

Term

...A statement presented in justification or explanation of a belief or action. Sentence- The student gave the principal a reason why he talked back to his teacher. Record- (v) Set down in writing or some other permanent form for later reference, esp. officially Sentence- We recorded the notes so that I could use them on my test later in the year. Relationship - (n) a connection, association, or involvement Sentence- The relationship between those two people is brother and sister Research – (v) to search or investigate exhaustively Sentence- I researched the problem in the investigation to find out what happened. Resolution – (n) The act of resolving or determining upon an action or course of action, method, procedure, etc. Sentence- The final resolution on the argument between the two students was that they both got suspended. Respond- (v) To reply or answer in words Sentence- The student responded to the teacher because he was called on to answer the...

Words: 274 - Pages: 2

Free Essay

Title of Titles

...presentation of your findings, and manage the time and skills of your group members. The objective of this assignment is to persuade your audience/potential investors that you have identified an opportunity that fills an important gap in the market. You are asked to identify an idea for a new venture and conduct an environmental analysis (PEST, Five Forces, size of market) to prove that your idea is worth funding. Essentially, you are answering two questions: What is your idea and why does it represent a worthwhile opportunity in the business environment? This project is worth 20 marks of your BU111 final grade and consists of three components: • 4 marks for the New Venture Preliminary Report (hard copy due BEFORE Friday, October 12th at 12 noon; turnitin and peer evaluations due BEFORE Friday, October 12th at 12 midnight • 10 marks for the Final Report (hard copy due BEFORE Friday, November 16th at 12 noon and turnitin and peer evaluations BEFORE Friday, November 16th at 12 midnight) • 6 marks for the New Venture Presentations (done in Labs #10 or #11 as assigned by TA – peer evaluations due BEFORE Wednesday, December 5th at 12 midnight) Details on what is required and how to complete and submit each of the above components are provided below. New Venture Idea Qualification In order for your new venture idea to qualify as a legitimate opportunity, it should possess the following three essential characteristics: 1) creates value...

Words: 4304 - Pages: 18

Free Essay

Cougars on the Bay

...Utter chaos or sheer comical genius? The Eric Andre Show transcends what most people typically think of in terms of a variety show. This man has taken his talents as a comedian and created something that is truly unforgettable. The show on Wednesday, September 19 started with Eric Andre running out on stage throwing beer, sandwiches, what seemed to be chicken carcasses, and many other objects out into the crowd as he jumped off stage and began to run through the dense mass of people pushing, shoving, and simply making a riot amongst the observers. He disappeared and shortly after appeared back on stage fully naked running around the set. Things slowly settled down and it was time for his first guest, Russell Brandt. The crowd grew eager and when he finally came on stage, it was clear that it was in fact not he. Either that, or Russell Brandt changed his image to that of a malnourished Philadelphian homeless person. Once on stage “Brandt” sang a song, in what seemed to be English accompanied by a plastic guitar and a 2 liter bottle filled with some unknown foamy liquid that eventually also ended up in the crowd. His next two guests consisted of a local juggler and Freeway, who is a native rapper of North Philadelphia. It was clear that neither of the two were aware of what they were actually participating in. Right as the juggler was about to begin his performance, the lights dimmed and Doc Chicken emerged. This was nothing more than a rubber chicken with a stethoscope...

Words: 537 - Pages: 3

Premium Essay

Conflict Scenorio

...One of the strategies we discussed to resolve the conflict was (1) Meet with the three employees to discuss their ideas, (2) Meet with Jan and Marc to understand why they are unable to come to an agreement or compromise, (3) As the manager direct each employee to develop and present their ideas about the ad to a management team. The first strategy we discussed was to have a meeting with Jan, Sally, and Marc to find out why and how we could help them come to a decision about the ad. Allow each employee to present what ideas they have for the ad. As the manager listen to the idea, explain to them your views on what makes a successful ad, and make any suggestions for improvement on the ideas, if needed. Feedback is welcome, but we have a deadline to meet. Ask each one of them what they can produce to help promote this ad. Also remind them that they have been successful in the past and we are sure you can work together to solve this conflict. It’s about compromising. The second strategy is meeting with Jan and Marc, since they were unable to compromise. Even though they worked very well together in the past and Sally tried to get them to come to an agreement they could not set their personal values aside. The manager needs to be the negotiator to guide employees to see others views. Compromise is the key to good negotiation. You need to be able to give in a little to get closer to what you want. Have Marc and Jan present their ideas for the ad, give feedback on...

Words: 481 - Pages: 2

Free Essay

Team Charter

...Attendance & Contribution: • Everyone should contribute to the assignment on daily basis and inform of any issue if there is any exception. • Participate in decisions about group planning, assignments, etc. • If one cannot contribute for whatever reason, please notify in a timely manner. • Participate is must at least three times weekly if discussion is required. Assignment Submission: • Meet assignment deadlines agreed to by the team to allow for final submission on time. • Due date for individual contributions should be set as Friday by noon for each team assignment- giving team lead ample time to compile and submit the project by Sunday. • We should be able to target the submission timeline a day before so that we have enough time to react to any contingency. Team work: • We should work together as a team to deliver the assignment and utilize the strengths of each other. • Make sure that we are unified in the final product. • Be open and willing to do one’s part Weekly Meetings: • A weekly meeting should be held so that the defining of roles for each assignment can be done. • We should meet weekly once in the begging of assignment no later than Wednesday to define roles, assigning a team lead and assignment delivery structure. • Stay in contact with team members via forum or email at least 3 times weekly. • Communicate fairness issues openly and professionally Exceptions: • Team lead and team member should be notified immediately if there is...

Words: 381 - Pages: 2

Premium Essay

Managers Perspective

...team and the reasons – Our team worked very well together on the project. We divided up the work load and each team member submitted a chapter. Everyone checked the group discussion board every day and made comments when appropriate. 2) how you and your team members might have worked better together and what you would do differently if you were to work together again – We worked very well together on the project, as we have done throughout the class. We each individually did research and submitted a chapter. Everyone was involved in editing and making suggestions for improvement of the final paper. 3) what could improve this activity, anything in the course content or anything the instructor might do in the future – I would like to have had more experience in working with the Excel templates provided on the text CD-ROM and it would have been insightful to tie this in with our final project. Names of Team Members In the table below, list your own name as the 1st team member. Then list the names of the other members of your team. You probably have fewer than seven members—just use as many rows as you need. Ratings To rate yourself and the rest of your team use this scale and mark an “x” to show your rating: 5 = exceptionally superior; 4=completely satisfactory 3 = sufficiently supportive; 2 = barely there but valuable; 1 = undesirable or interfering Rationale For each team member, state the role, overall contribution, and reasons for your rating. Keep your comments brief...

Words: 410 - Pages: 2

Free Essay

Edu 644 Week 3 Dq 1 Website Sharing and Feedback

...feedback you give and receive will support enhancements to your website as you continue to develop it throughout the course leading up to the final evaluation in Week Six. Review the Week Three Instructor Guidance for further details about participating in this discussion. Initial Post: Create an initial post that includes a link to your website created for the Week Two Assignment and that addresses the following: a.    Discuss your experience creating the website. Note any challenges you experienced and how you overcame them. b.    Share something that you learned while constructing your own website and discuss what you have enjoyed or disliked most about the process of creating the website thus far. c.    Reflecting on what your finished website will look like, describe your vision for the website’s design and content and how you can potentially use this as a personal resource or in your current or anticipated professional practice. Guided Response: Respond to a minimum of two peers. Make an effort to respond to two peers that you didn’t engage with in the previous discussions. In responses, provide feedback to your peers about their website’s design and their working definition of at-risk. Additionally, provide constructive recommendations for how your peers can enhance their websites and definitions to meet the expectations for the final submission in Week Six. Though two replies is the basic expectation, for deeper engagement and learning you are encouraged to provide responses...

Words: 312 - Pages: 2

Free Essay

Edu 644 Week 6 Final Creating a Web-Based Resource for a Population at Risk

...EDU 644 Week 6 Final Creating a Web-Based Resource for a Population At Risk To Buy This material Click below link http://www.uoptutors.com/edu-644-new/edu-644-week-6-final-creating-a-web-based-resource-for-a-population-at-risk Throughout this course, you have had the opportunity to examine various populations at risk and learn about strategies and resources to support these groups. You have reviewed many websites that offer services for a variety of populations at risk as well, which have hopefully served as models for your website that is finalized for this Final Project. In the Final Project, you will demonstrate mastery of the five course learning outcomes by completing the website resource you have been designing throughout the course that describes what you learned about children and families at risk as well as a specific population you selected as a focus during Week Five. Additionally, the website you create here may be an effective artifact to include in your MAED program eportfolio during your enrollment in the Capstone, EDU695, and will likely be useful to you as a resource for future professional work with your chosen population at risk from this project. Create your Final Project to using the content and written communication instructions below. Use the Grading Rubric to review your Final Project before submission to ensure you have met the distinguished performance for each of the components described below. For additional assistance, review the Week Six Instructor...

Words: 1331 - Pages: 6

Free Essay

Technology Management

...based on the activity and the on the week. The final budget has been calculated based on the phases. The detailed information is as follows: Time and Cost: Phase | Activities | Tasks | Deliverables | Dates | Cost | Project Requirements | Develop Business Requirements. | Collect Requirements from client and register a domain name.Draft the proceedings and document them.Produce a final version of the Business Requirements.(User Signoff) | Preliminary Business Requirements | 6/16/2014 | $360 | | Develop Technical Requirements. | User need to fill the form and register.Provide security by using secure pages such as HTTPS.Estimate hosting space for website.Identify appropriate website development platform and suggest to the client.Draft the proceedings and document them.Produce a final version of the Technical Requirements.(User Signoff) | Preliminary Technical Requirements. | 6/23/2014 | $400 | | Develop User requirements. | Collect required webpages names.Collect menu navigation requirements.Collect Access Requirements from client. | User Requirements. | 06/30/2014 | $160 | | | Draft the proceedings and document them.Produce a final version of the User Requirements.(User Signoff) | | | | Website Development | Develop Front end of website. | Establish Design of the Website.Create Design Elements.Develop overall layout.Assign content elements to webpages.Draft the proceedings and document them.Produce a final version of the Front end. (User Signoff) | Front...

Words: 787 - Pages: 4

Premium Essay

Manager

...them more appealing and increasing their probabilities of leading the financing. However, they chose to bid to lose, with just enough terms to get into the second round to "protect their reputation", but not to lead. The deal started to become more attractive with the possibility of Disney awarding a sole lead arranger mandate and with the increased potential for a successful syndication. At this point, after Chase made it through the first round, they decided on a more aggressive final proposal where they would be very close to meeting most of Disney’s demands in order to win the deal. Although may not aggressive enough to lead in the first bid, it’s still a good strategy to pretend to bid to lose but make the short list and then bid to win. Three reasons: (1)not too aggressive from the very beginning, making the economics not so appealing, especially considering other competitors will bid very aggressively. (2)but aggressive enough to entre the short list. (3)not afraid to lose. If the final condition is not fit for profit purpose, may out. 2. Standard Commitment Letter The standard commitment letter established by Chase for the Disneyland project would have the following terms:   1. HK$300 million loan.   2. 15-year maturity.   3. A provision that allowed repayments to start as late as three years after opening.   4. Chase would underwrite the full...

Words: 392 - Pages: 2

Free Essay

Reference

...under production supervisor testing for quality assurance. The labor had a certain target in production per day unit where my role was to check the cracks developed due to excess heat while quenching. The defects were also produced because of machining mainly due to grinding.These defects had to be marked and were cured if possible, further they are sent for machine testing like for example for checking the weight, the rotors and impellers were put on bALAncing machine and if excess material was present was removed otherwise if less material then the required was then rejected. LearningS: testing of product’ Working under production authority Targets fulfillment Understanding the production department and process and how it affects the final product and targets of the company Exposure to a specialized company (since there are only 3 in india) ....

Words: 266 - Pages: 2