• No results found

The Creation of a Sound Simulation System for People Affected by

N/A
N/A
Protected

Academic year: 2021

Share "The Creation of a Sound Simulation System for People Affected by"

Copied!
44
0
0

Loading.... (view fulltext now)

Full text

(1)

2004:308 CIV

M A S T E R ' S T H E S I S

The Creation of a Sound Simulation System for People Affected by

Tinnitus

Maria Snäll

Luleå University of Technology MSc Programmes in Engineering

Department of Computer Science and Electrical Engineering Division of Signal Processing

2004:308 CIV - ISSN: 1402-1617 - ISRN: LTU-EX--04/308--SE

(2)

The Creation of a Sound Simulation System for People Affected by

Tinnitus

Maria Sn¨ all

Lule˚ a University of Technology

Dept. of Computer Science and Electrical Engineering Division of Signal Processing

December 10, 2004

(3)

ii

(4)

A BSTRACT

Tinnitus is a medical condition that manifests itself as a ringing, beeping, or humming noise to the affected person. The intention of this project is to help people with tinnitus recreate the sound they hear inside their heads. This is done to help increase the under- standing of tinnitus to unaffected people. Within the project a sound simulation system has been created, where the sound can be tuned to match the sound of an instance of tinnitus with adjustable parameters and a plot to help visualize the sound.

In the sound simulation system there are a few different parameters that can be changed.

There is a sinusoid tone, a distorted sinusoid tone and two changeable coloured noise.

The coloured noise is created by filtering white noise with an infinite impulse response (IIR) bandpass filter.

The actual sound simulation system is implemented in MATLAB and the user interface is made in Java as a remote tool with the ability to access the sound simulation system via the Internet.

iii

(5)

iv

(6)

P REFACE

This Master’s thesis was written by Maria Sn¨all. The actual idea to the thesis comes from the company NovaCast AB in Ronneby. The work was performed at the division of Signal Processing at Lule˚ a University of Technology in Lule˚ a.

This project has taken a lot of time to finish, and the result is unfortunately not a usable program. The most difficult issue with this project has been to fully understand the signal processing theory used. Many sidesteps has been taken but the project is finally completed.

I would like to thank the department of Computer Science and Electrical Engineering for making this project possible. My examinor Johan Carlson at EISLAB; thank you for helping me finish this thesis! A special thanks to Krister Engberg at the division of Signal Processing for the help with everything!

The next person I would like to thank is Carl Knutsson for the RMI server he made.

I would also like to thank Fredrik Bengtsson at the division of Computer Science and Networking for all the support during this project and all the help with the proof-reading.

A big thank you to Northwestern University, Chicago, IL, USA for letting me use their picture of the ear in section 2.1 which they call the “master ear”. Thanks!

Lule˚ a, Maria Sn¨all

v

(7)

vi

(8)

C ONTENTS

Chapter 1: Introduction 3

1.1 Background . . . . 3

1.2 Objectives . . . . 3

1.3 Strategy . . . . 4

1.4 Document Outline . . . . 4

Chapter 2: Background 5 2.1 The Ear and Hearing Experiences . . . . 5

2.2 Tinnitus . . . . 7

Chapter 3: Signal Processing Theory 11 3.1 Introduction . . . . 11

3.2 Stochastic Processes . . . . 12

3.3 Digital Filters . . . . 15

3.4 Stability . . . . 17

3.5 Designing Filters . . . . 20

3.6 Tools in MATLAB . . . . 22

Chapter 4: Implementations 25 4.1 Implementation in MATLAB . . . . 26

4.2 Implementation in Java . . . . 31

4.3 Issues and Improvements . . . . 34

Chapter 5: Conclusions 35

(9)
(10)

C HAPTER 1 Introduction

1.1 Background

Tinnitus is a medical condition that can manifest itself as many different noises inside a person’s head. Some examples are humming, beeping, scratching or ringing. To some people this can be very distracting and disturbing both in their daily work and in their social life, while other affected people are not bothered at all. Anyone can get tinnitus, especially people that expose themselves to loud music and long-lasting noise. The num- ber of people affected is increasing, especially among young people. There exists some treatments with varying effectiveness, but no general solution.

The original idea to this Master’s thesis comes from the company NovaCast AB in Ron- neby and has been carried out at the division of Signal Processing at Lule˚ a University of Technology.

1.2 Objectives

The intention of the project is to help people with tinnitus recreate the sound they hear inside their heads to increase the understanding of tinnitus for non-affected people. This is done using a sound simulation system capable of generating both noise and tones with adjustable parameters and a plot to help visualize the sound. The sound simulation

3

(11)

system can create both noise and tones, because a tinnitus noise often consists of both noise and tones.

1.3 Strategy

The generated noise is created out of white noise that is input to a second-order bandpass IIR filter with adjustable center frequency, bandwidth, and gain. The tones are pure sinusoidal tones and a distorted sinusoidal tone, which both have frequencies between 1000 and 12000 Hertz. It is also possible to adjust the gain of the tones.

The sound simulation program was first done as a MATLAB program with a Graphical User Interface (GUI). To be able to use the program over the Internet, a Java applet was created, which is using RMI (Remote Method Invocation), see section 4.2.2, to communicate with a server that interacts with MATLAB through the Java interface.

The reason why MATLAB was chosen is that it is a good tool when working with signal processing and it is a de facto standard for both universities and industry. Java was chosen because it is reputed to be a simple programming language to build applets with, and since it is easy to interact between Java and MATLAB. Unfortunately, this did not turn out to be the case. The RMI server was written by Carl Knutsson, a student at the program of Computer Science and Engineering.

1.4 Document Outline

The Master’s thesis is organised in the following way: Chapter two presents some back-

ground on the ear and hearing experiences. It also discusses causes and treatments for

tinnitus. In chapter three, the signal processing theory is presented, and in this chapter

for example stochastic processes, filter design and stability are discussed. Chapter four

presents the implementations, how the sound simulation system was created and how the

user interfaces were implemented. Chapter five concludes this Master’s thesis.

(12)

C HAPTER 2 Background

2.1 The Ear and Hearing Experiences

The ear can be thought of as a receiver of sound waves of different frequencies and amplitude. You can decide what you want to listen to and filter the incoming sounds in a noisy environment. Disturbing sounds can be neglected and interesting sounds can be emphasized. This is to be discussed further, later in the thesis. [1] and [2] have a more detailed description of the ear and hearing.

2.1.1 The Ear

The ear is the organ that converts sound to nerve impulses. It can sense sound waves from approximately 20 to 20000 Hertz. Hearing is often impaired with age.

The ear consist of the outer ear, the middle ear and the inner ear. The outer ear consists of the visible part of the ear (the pinna) and the auditory canal leading to the eardrum.

The visible part of the ear is built up of cartilage without useful muscles. The middle ear consists of the ear drum, the ossicles, the oval and the circular window and the eustachian tube. The inner ear consists of the cochlea, the vestibule, the semi-circular canals and a part of the cochlear nerve. In figure 2.1 the anatomy of the ear is shown.

5

(13)

6 Background When sound vibrations in the air reaches the visible part of the ear, the vibrations traverse the auditory canal, where the sound magnitude is amplified by resonance. The vibrations make the eardrum vibrate, which makes the ossicle swing. The ossicle consists of the malleus, the incus and the stapes. The sound increases when the stapes attached to the oval window start to vibrate. The vibration of the oval window are transfered to the fluid in the cochlea, a small shell-shaped bone, where there are about 15000 sensory receptor cells called outer and inner haircells. The pressure changes in the fluid are transfered to the receptor cells and the basilar membrane they are connected to. The receptor cells are attached to different pitches, with the darkest tones at the top of the cochlea and the brightest tones at the bottom, close to the round window. The nerve impulses are then transfered by the cochlear nerve to the auditory centre in the brain, where the actual sound is heard. The semi-circular canals are not part of the hearing experience, but handle balance.

The cochlear nerve contains both ingoing (afferent) and outgoing (efferent) nerve fibres between the brain and the cochlea. The so called inner haircells transfer sound informa- tion from the cochlea to the auditory centre inside the brain, and are therefore afferent nerve fibres. The purpose of the efferent nerve fibres, which consists mostly of so called outer haircells, is to enable the human ear to hear specific sounds in environments with disturbing surrounding sounds. The outer haircells provide for the high sensitivity and high-frequency resolution of the cochlea. With that comes the possibility to select which information to listen to.

When the inner and outer haircells are injured, the hearing becomes impaired. The inner haircells are the biological transducers of sound and when they are injured, the hearing deteriorates. When the outer haircells are injured, it becomes more difficult to hear specific details when there are a lot of disturbing sounds. Haircells can repair themselves if the damage is small. If the damage is severe, the haircells will neither be reproduced nor recovered.

2.1.2 Hearing Experiences

Anything that can vibrate can produce a sound. If the vibration is heard, the sound is

“audible”. A person cannot hear the vibration itself. The vibrating object causes a wave motion in the air, the wave reaches the ear and the process of hearing begins.

The cochlear nerve codes the frequency and the time pattern of a sound. The central

auditory nervous system receives information from the cochlea. The information is then

analysed and interpreted. Parameters analysed are frequency, intensity and time. A

(14)

2.2. Tinnitus 7

Figure 2.1: The anatomy of the ear

great deal of this processing happens in neural centers that are located in the auditory brainstem and cortex. Sound localisation depend on the interaction of information ar- riving at the two ears, based on phase comparison. The auditory nerves interact only in the brainstem and cortex.

2.2 Tinnitus

Tinnitus is latin for a ringing, jingling or rattling sound. Tinnitus is a medical condition, not a disease, with symptoms such as a ringing, buzzing or humming in one or both ears without any outer stimulation. It is a common phenomenon that has probably always existed. The first documentation, as [3] speaks of, of tinnitus is from Egypt in the 18th century before Christ, where they speak of “bewitched ears”, and the treatment was to drip olis into the ears. Almost everyone has at some time in their life experienced tinnitus as a temporary annoying noise in one or both ears.

Sleep and the ability to concentrate are often factors that are affected for tinnitus patients.

(15)

8 Background

For most of the affected persons, tinnitus is not a big problem, but there are also persons with very large problems. Loud volume of tinnitus can completely debilitate a person.

For more thorough information on tinnitus, see [3].

2.2.1 Causes

It is not always possible to determine the specific cause of tinnitus. High intensity sound, for example loud concerts and prolonged exposure to noise, can cause tinnitus. This is because the haircells in the cochlea might become injured or that the ossicles in the middle ear can get damaged, causing hearing loss. Tinnitus is very often related to an impaired hearing. Deaf people often have tinnitus even though they cannot hear actual sounds.

Contracting tinnitus from a trauma, for example a car accident, is also possible. It can arise either from the actual accident or a psycological trauma afterwards. It is not certain that stress can cause tinnitus, but for a person that has tinnitus, stress can aggravate the condition.

It is also possible to contract tinnitus from medication, for example high doses of acetyl- salicylic acid can cause temporary tinnitus. Ear infections can also cause tinnitus, because when an ear infection is not treated it can spread to the inner ear and cause meningitis [1], a very serious condition, which in turn can cause tinnitus.

Having a faulty set of teeth can cause tinnitus, because of tensions in the jaw muscles.

This is why some tinnitus patients actually get a referral to a dentist.

There is also a disease called Meni`ere’s disease that manifests itself as dizziness, impaired hearing and tinnitus. The cause is not completely known, but the liquid balance in the inner ear has some relation to it. The dizziness is often the most annoying symptom, but tinnitus is often the reason patients seek help. Tinnitus often deteriorates if accompanied by dizziness. Meni`ere’s disease can be treated with surgery.

However, some people continue their life without seeing a specialist for their tinnitus.

They have learned to live with it. Most of the tinnitus patients will never totally get rid

of their tinnitus.

(16)

2.2. Tinnitus 9

2.2.2 Treatments

There is constantly research going on to find better treatments for tinnitus. The treat- ment is often related to the cause and the level of affliction of the patient.

Even though there is no ultimate cure, the symptoms of tinnitus can often be reduced.

The noise intensity can be reduced and it is possible to learn to live with it. It is often important with understanding from the medical doctor and the surrounding people, and acceptance of the tinnitus by the patient in the treatment of tinnitus.

The treatment options that will be discussed in this thesis are only a few treatments that have been used through history with varying results. One early method used, was to cut of the hearing nerve, but that did not stop the tinnitus, it only cut off the hearing on that ear.

A few farmacological attempts have been done to find a cure for tinnitus. The best result were attained when Xylocain was used. 60% of the patients that tried Xylocain got a momentary silence from their tinnitus. Also, anxiety and anti-depressive medication has been tested with some progress when the patient was depressed and suffering from tinnitus. However, a simple medical solution is still missing.

Hearing aids can be used to mask tinnitus. It is often easier to disregard tinnitus when the surrounding sounds are louder. There are also special masks available which generates coloured noise or other sounds. Some other ideas in treating tinnitus are that patients should simply learn to accept the noise, and with acceptance comes relief. Acupuncture is sometimes mentioned when treatments are discussed. Patients with a faulty set of teeth can get a bite strip and experience a relief from their tinnitus. For more tinnitus information, see [3].

2.2.3 Tinnitus and Signal Processing

Tinnitus often consists of white or coloured noise and one or several tones. This makes it

possible to reconstruct some tinnitus sounds with the help of signal processing. However,

tinnitus can often be very complex and recreation of the sound can be difficult. The

recreation of tinnitus noises can be helpful for understanding of the condition for people

in the patient’s surroundings. Recreating the tinnitus noise can make the tinnitus patient

calm and satisfied knowing that other people can hear the noise too and understand what

the patient is suffering from.

(17)

In the sound simulation system white noise is input to a bandpass filter. Changing the

white noise into coloured noise, is making it similar to a tinnitus noise. A tinnitus tone

can be similar to a sinusoid tone or a distorted sinusoid tone or a combination of both

and has a frequency content between 1000 and 12000 Hertz, as a person working at the

hospital in Sunderbyn stated from his experience of tinnitus patients. While this is the

most common spectrum, there might exist patients with higher or lower tinnitus tones.

(18)

C HAPTER 3 Signal Processing Theory

In this chapter the signal processing theory of this report is handled. In section 3.1 there will be a short introduction to what will be discussed in this chapter.

3.1 Introduction

Tinnitus is a medical condition that can occur as a ringing, humming or buzzing noise in one or both ears. It can be a temporary or permanent condition. This can be very annoying and debilitating to the affected person. The noise a person with tinnitus can hear is similar to white and coloured noise. Coloured noise is created with the help of a filter and white noise. A pure tinnitus tone can be recreated with a sinusoid. If the tone has much distortion it can be recreated with a distorted sinusoid tone. The tinnitus noise is often complex and consists of both a noise and a signal. This can be recreated by adding coloured noise to a sinusoid. In figure 3.1 the process of creating tinnitus noise is shown.

White noise is the input to a bandpass tunable filter that is used to shape noise in this project. The output of the filter is coloured noise. The wanted qualities of the noise are found with adjustable bandwidth and center frequency in the bandpass filter. This means that the noise can be changed from a high-frequency to a low-frequency noise with the help of these parameters.

Colouring white noise is a process that uses signal processing theory of for example

11

(19)

12 Signal Processing Theory

Bandpass filter

Bandpass filter White noise

Tinnitus noise

Figure 3.1: Block diagram for the sound simulation.

stochastic processes; the theory behind white noise and a step needed for understanding coloured noise, filter design; various techniques for designing filters, and stability; be- comes an issue when dealing with digital filters. A sinusoid is easy to make and will not be discussed in any specific section of this report. A distorted tone is like a sinusoid with some distortion on it.

Stochastic processes are discussed in section 3.2, where the transformation from white to coloured noise is investigated. Section 3.3 discusses digital filters and the differences between digital infinite impulse response (IIR) filters and digital finite impulse response (FIR) filters. The stability issue of a filter is important and will be discussed in section 3.4. In section 3.5 the different aspects of filter design is handled and in section 3.6 the MATLAB tools used in this project will be declared and explained.

3.2 Stochastic Processes

A stochastic signal is assumed to be a member of an ensemble of signals that is character- ized by a set of probability density functions. For a specific signal at a specific time, the signal’s amplitude is assumed to be determined by the underlying statistical properties.

A discrete-time random process is a sequence X[n] whose value at each time point is a random variable. The mean of a discrete-time random signal is defined as

µ X [n] = E(X[n]). (3.1)

(20)

3.2. Stochastic Processes 13

The variance is then defined as

σ X 2 [n] = E(X[n] − µ X [n]) 2 = E(X[n] 2 ) − (µ X [n]) 2 . (3.2) The auto-correlation function is of interest at two different time indices m and n

r X [m, n] = E(X[m]X [n]), (3.3)

where * denotes complex conjugation. In this project, X[n] is always real.

Random signals are often so called wide sense stationary (WSS) random processes for which some of the key statistical properties are either independent of time or of the time origin, which will be true if these two properties are fulfilled:

1. The mean µ x [n] is the same at all time points:

µ X [n] = µ X = const. (3.4)

2. The auto-correlation function is one-dimensional, it only depends on k:

r X [k] = E(X[n]X[n + k]). (3.5)

r X [k] is only dependant of the difference k between n and n + k. The power spectral density (psd) is the Fourier transform of the auto-correlation function and is therefore defined as

R X (Ω) =

X

k=−∞

r X [k]e jΩk . (3.6)

R X (Ω) is a periodic function of Ω with a period of 2π. To receive the auto-correlation function the inversion formula is used on an interval from, for example −π to π. The inverse is then

r X [k] = Z π

− π

R X (Ω)e jΩk dΩ. (3.7)

White noise is the input to the system when the coloured noise is created in the sound simulation system. White noise is a stochastic process with constant psd R W (Ω) = σ 2 . The auto-correlation function is then

r W [k] = σ 2 δ[k] =  σ 2 for k = 0

0 for k 6= 0 , (3.8)

where δ is the Kronecker delta defined as

δ[k] =  1 for k = 0

0 for k 6= 0 . (3.9)

(21)

14 Signal Processing Theory

x[n]

H(Ω)

y[n]

Figure 3.2: Input-output model.

0 0.5 1 1.5 2

x 10

4

−100

−50 0 50 100

Frequency (Hz)

Phase (degrees)

0 0.5 1 1.5 2

x 10

4

−80

−60

−40

−20 0

Frequency (Hz)

Magnitude (dB)

Figure 3.3: The frequency response and phase shift of the output y[n].

The coloured noise made in this project is the output y[n] of figure 3.2. The input x[n]

is white noise and H(Ω) is the bandpass filter used in this project to create coloured noise. The filter used in this project is good for this purpose, because it is a tunable filter and when white noise is run through the filter the output will be a well tunable coloured noise. In figure 3.3, the upper plot shows the frequency response and the lower plot shows the phase shift of the coloured noise. The x-axis is labeled in Hertz since the sound that comes out of a speaker is in Hertz.

In this section, [4] and [5] have been used as references.

(22)

3.3. Digital Filters 15

3.3 Digital Filters

This section will handle two different digital filters, FIR and IIR filters. There will be a comparison between the filters and a discussion why the filter used in this project was chosen.

Finite impulse response (FIR) filters are named after the finite impulse response. An FIR filter of length M with input x[n] and output y[n] is described by the difference equation

y[n] = b 0 x[n] + b 1 x[n − 1] + ... + b M −1 x[n − M + 1] =

M −1

X

k=0

b k x[n − k], (3.10)

where b k are the filter coefficients. An FIR filter is non-recursive and depends only on the samples from the input.

Infinite impulse response (IIR) filters are named after the infinite impulse response. The difference equation for an IIR filter looks like

y[n] =

N

X

k=1

a k y[n − k] −

M

X

i=0

b i x[n − i], (3.11)

where a k and b i are the filter coefficients [6]. An IIR filter is recursive, which means that the filter depends on samples from previous outputs.

3.3.1 Digital Finite Impulse Response Filters

This section will discuss advantages and disadvantages of FIR filters. The bandpass filter used in this project is not an FIR filter, and in this and the next section it will be obvious why.

Digital FIR filters cannot be derived from analog filters, because rational analog filters cannot have a finite impulse response. Digital FIR filters have certain unique properties that IIR filters (whether analog or digital) not share, such as:

1. They are inherently stable, because FIR filters can be designed to be stable and does not have feedback that can cause instability as IIR filters have.

2. They can be designed to have a linear phase or a generalised linear phase. Linear

phase filters has less phase distortion than non-linear phase filters.

(23)

16 Signal Processing Theory

3. There is great flexibility in shaping their magnitude response.

4. They are convenient to implement.

FIR filters can also have a major disadvantage with respect to IIR filters: For an FIR filter meeting the same specifications as a given IIR filter, the FIR filter will require many more operations per unit of time. FIR filters are absolutely stable since they only have zeros and no poles, see more in section 3.4. Only FIR filters can have linear phase, which means that the filters will not cause any phase distortion.

In this project, an FIR filter would have made it more difficult to change parameters in the sound simulation system. The bandpass filter used in this project has only two parameters to change in the sound simulation system. An equivalent FIR filter would have had more parameters to set than the IIR filter.

Consequences when using FIR filters is that FIR filters needs many taps for selective filters and that FIR filters give long delays. This will not be a problem if the delay time does not matter for the process.

More can be read in [5], [6], [7] and [8].

3.3.2 Digital Infinite Impulse Response Filters

This section will help to explain why a digital infinite impulse response (IIR) filter is used in this project. The idea to create coloured noise with white noise and an IIR bandpass filter has to be explained, and will so be in this section.

An IIR filter is a recursive filter, which is more computationally efficient than a non- recursive filter, just because it is recursive and has fewer parameters to consider than a non-recursive filter, but a recursive filter can easily become unstable and lose phase linearity. It can become unstable because the output has feedback and therefore has poles, and the pole placement decides the stability. Read more about poles in section 3.4.1. Since an IIR filter is used in this project to create coloured noise it is not possible to have linear phase. In this case phase linearity does not matter, because the phase does not make a difference for the sound created in this project. A change in phase will change the noise in a way that can be noticeable for the human ear, but since it is noise it is difficult to decide whether it is a change in phase or not.

There exists many different digital IIR filters and they will only be briefly mentioned

here. The most common types are Butterworth, Bessel, Chebyshev Type 1 and 2 and

(24)

3.4. Stability 17

elliptic approximations. These are analog filters, but corresponding digital filters can be made with predefined MATLAB functions.

The bandpass filter used in this project is an IIR second-order bandpass filter. It is filtered with the help of MATLAB’s filter function. The transfer function of the filter looks like:

H BP (Ω) = 1

2 [1 − α − β(1 + α)e jΩ + e 2jΩ

1 − β(1 + α)e jΩ + αe 2jΩ ], (3.12) where α and β are adjustable parameters. When α increases, the bandwidth of the filter decreases, and when α decreases, the bandwidth of the filter increases. When β increases, the center frequency of the filter increases. The filter moves in frequency with the change of β. This is a tunable filter and is good for creating coloured noise, as in this project.

The squared magnitude function of the filter is given by

|H BP (Ω)| 2 = (1 − α) 2 (1 − cos 2Ω)

2[1 + β 2 (1 + α) 2 + α 2 − 2β(1 + α) 2 cos Ω + 2α cos 2Ω] , (3.13) which will go to zero at Ω = 0 and at Ω = π. A maximum value of unity is reached at Ω = Ω 0 , called the center frequency of the bandpass filter. This is then used in the project to get the value of β by β = cos(Ω 0 ). Where the squared magnitude response goes to 1/2, the frequencies Ω c1 and Ω c2 are called the 3-dB cutoff frequencies.

An advantage with IIR filters is that the number of computations for a given specification is less than corresponding FIR filter. The complexity is proportional to the length of the impulse response for an FIR filter, which is not the case for an IIR filter.

Disadvantages with IIR filters can be that IIR filters can not have linear phase. The closer phase linearity an IIR filter is, the longer it gets, because of the amount of phase parameters that have to be included. The group delay of IIR filters is not constant for all frequencies, which is why they cannot have linear phase. See section 3.5 for more about linear-phase filters. Another important disadvantage is that IIR filters can have stability problems. See more about stability in section 3.4.

In [5], [6], [7] and [8] this is discussed more thoroughly.

3.4 Stability

There are several different definitions for stability, and the most common one is a stable

system where every limited input has a limited output. This is called a BIBO system,

(25)

18 Signal Processing Theory

which stands for bounded input - bounded output. If the input is limited, |x(n)| ≤ K for every n, we have

|y[n]| =

X

−∞

x[n − k]h[k]dk

X

−∞

|x[n − k]h[k]|dk =

X

−∞

|x[n − k]||h[k]|dk ≤ K

X

−∞

|h[k]|dk, (3.14)

where h[k] should be absolutely summable, i.e.

X

k=−∞

|h[k]| < ∞. (3.15)

A necessary condition is h[k] → 0 when k → ∞ for (3.14) and (3.15) to be true.

To analyse and understand digital filters and stability, the z-transform is a very useful tool. Suppose an N times sampled signal with the period T that gives the sequence x[n] = {x 0 , x 1 , x 2 , x 3 , ..., x N −1 }. Applying the z-transform on the sequence x[n], gives X(z) = x 0 + x 1 z 1 + x 2 z 2 + ... + x N −1 z (N −1) . This can also be written as

X(z) =

X

n=−∞

x[n]z n . (3.16)

To learn more about the z-transform, see for example [5].

Stability is an issue when dealing with IIR filters. An IIR filter can become unstable if the parameters are not in the right ranges. The bandpass filter used in the project looks like this:

H BP (Ω) = 1 2



1 − α − β(1 + α)e jΩ + e 2jΩ 1 − β(1 + α)e jΩ + αe 2jΩ



, (3.17)

where the filter is stable if |α| < 1. If α is not in the right boundaries then the poles will not be inside the unit circle and unstability will arise.

A digital FIR filter with bounded impulse response coefficients is always stable. This is because there is no feedback in FIR filters that can cause instability.

3.4.1 Poles and Zeros

A way of checking if a system is stable is by checking its poles and zeros. To decide

the poles and the zeros of a function, the transfer function is needed. The roots of the

(26)

3.4. Stability 19

−1 −0.5 0 0.5 1

−1

−0.8

−0.6

−0.4

−0.2 0 0.2 0.4 0.6 0.8 1

Real Part

Imaginary Part

Figure 3.4: Pole-zero plot with α = −0.8 and β = 15000. x=pole, o=zero.

numerator are the zeros and the roots of the denominator are the poles of the function.

Poles and zeros are complex and poles on the outside of the unit circle in a pole-zero plot indicate instability i.e., the poles must all have magnitude smaller than one for the system to be stable. The unit circle always has radius one. Zeros may lie inside, on, or outside the unit circle. All complex zeros and poles must occur in complex conjugate pairs in order for the filter coefficients to be real.

By using the MATLAB function zplane(b, a), where b and a are the numerator and denominator in the transfer function, a plot of the poles and the zeros of a system is created, see figure 3.4. If the poles are not inside the unit circle, the system is not stable.

In figure 3.4, the bandpass filter in equation (3.17) is executed. The poles are inside the unit circle, which indicates stability for this filter.

More information about stability, poles and zeros can be found in [9] and in [10].

(27)

20 Signal Processing Theory

3.5 Designing Filters

This section describes filter design in both the analog and digital case. Since the digital IIR bandpass filter used in this project is taken directly from a book [7] and not created manually, this chapter will briefly discuss different ways to proceed when creating a filter.

Analog filtering is applied to continuous-time signals and yields continuous-time signals.

Theoretically, analog filters have infinite frequency range, but in practice it is always limited. Analog filters have problems with nonlinearities, sensitivity to noise, dynamic range limitations, lack of flexibility, inaccuracies due to variations in component values and imperfect repeatability.

Digital filtering is applied to discrete-time signals and yields discrete-time signals. It is usually implemented in a computer or in a DSP (digital signal processor). The frequency range is always finite, and is limited to one-half of the sampling rate. Digital filters are accurate to any desired degree, are flexible, perfectly repeatable and they do not suffer from internal noise. Digital filtering requiers A/D and D/A conversion and care must be taken to avoid aliasing and operating frequency range is sometimes limited by the available computational speed.

Digital IIR filters can either be transformed from analog filters or created in the digi- tal domain directly. When designing filters there are a few different ways to proceed.

Methods that start with analog filters are:

• Impulse invariant method that gives IIR filter. The construction criteria is that the impulse response of the digital filter and the impulse response of the analog filter should be identical in the sampling moment. Assume given a real, causal, stable, rational filter H L (s) that will become H Z (z), which should be real, causal, stable and rational. It should have the same order as H L (s) and its frequency response should be close to that of the analog filter of interest. To find the digital filter’s transfer function we have h(t) that is the impulse response of an analog filter, and h[n] that is the impulse response of the desired digital filter. The impulse invariant method defines h[n] = T h(nT ). Proceed as follows to get the digital filter’s transfer function:

1. Compute the inverse Laplace transform of H L (s) to get h(t).

2. Sample the impulse response at interval T and multiply by T to obtain h[n].

3. Compute the z-transform of the sequence h[n] to get the transfer function

H Z (z).

(28)

3.5. Designing Filters 21

• Bilinear method that gives IIR filter. It is defined by the substitution s ← T 2 · z−1 z+1 . The transfer function of the corresponding digital filter given an analog filter H L (s), is H z (z) = H L (s)

s=

T2(z−1)(z+1)

.

• Windowing method that gives FIR filter. Similar to the impulse invariant method used to create an IIR filter. Proceed like this:

1. Start with the frequency response H(Ω) for an ideal lowpass filter.

2. Perfom the inverse discrete Fourier transform (DFT) of H(Ω) to get an infinite impulse response h[n].

3. Truncate h[n] by multiplication between h[n] and a finite time window w[n].

4. Rightshift the symmetrical impulse response to get a causal filter.

5. Perform a DFT on h[n] to get the transfer function H(Ω).

An approach for designing IIR filters from analog filters involves six steps:

1. Choose the analog filter model.

2. Calculate the model order and cutoff frequency.

3. Find the pole locations.

4. Factor the continuous-time transfer function.

5. Obtain a lowpass filter prototype.

6. Transform from lowpass filter prototype to desired lowpass, highpass, bandpass, or bandstop filter.

An example of how to design a filter: Convert the single-pole lowpass Butterworth filter with system function H(z) = 0.245(1+z 1−0.509z

−1−1

) into a bandpass filter with upper and lower cutoff frequencies Ω u and Ω l . The lowpass filter has 3-dB bandwidth Ω p = 0.2π.

Solution: The desired transformation is z 1 → − a z

−2

a

1

z

−1

+a

2

2

z

−2

− a

1

z

−1

+1 , where

a 1 = −2αK/(K + 1), a 2 = (K − 1)/(K + 1), K = cot

u

2

l

tan 2

c

and α = cos[(Ω cos[(Ω

uu

+Ω

l

)/2]

l

)/2] . Substitution into H(z) yields

H(z) =

0.245 h

1 − a z

−2

a

1

z

−1

+a

2

2

z

−2

− a

1

z

−1

+1

i 1 + 0.509 

z

−2

− a

1

z

−1

+a

2

a

2

z

−2

− a

1

z

−1

+1

 =

0.245(1 − a 2 )(1 − z 2 )

(1 + 0.509a 2 ) − 1.509a 1 z 1 + (a 2 + 0.509)z 2 .

(3.18)

(29)

22 Signal Processing Theory

The resulting filter has zeros at z = ±1 and a pair of poles that depend on the choice of Ω u and Ω l . For example, suppose that Ω u = 3π/5 and Ω l = 2π/5. Since Ω c = 0.2π, we find that K = 1, a 2 = 0 and a 1 = 0. Then, H(z) = 0.245(1−z 1+0.509z

−2−2

) . This filter has poles at z = ±j0.713 and hence resonates at Ω = π/2.

If the goal is to design an IIR filter that meets certain specifications for the phase and the amplitude, proceed like this:

1. Design an IIR filter that has the desired amplitude characteristic.

2. Design a phase-shifter that gives the desired phase characteristic when combined with the first filter.

3. Cascading the two filters from (1) and (2) gives the desired total filter.

One application of a digital filter is to pass certain frequency components in an input sequence without any distortion (if possible) and to block other frequency components.

Only FIR filters can have linear phase. A linear-phase filter must have a system function that satisfies the condition H(z) = ±z N H(z 1 ), where z N represents a delay of N units of time. But if this was the case, the filter would have a mirror-image pole outside the unit circle for every pole inside the unit circle. Hence the filter would be unstable.

Consequently, a causal and stable IIR filter cannot have linear phase. In many prac- tical applications such as in digital communications, where significant phase (or delay) distortion cannot be tolerated, linear-phase filters are widely used.

For more information, see [5], [6], [9] and [10].

3.6 Tools in MATLAB

In this section the predefined tools in MATLAB that are used in this project are discussed.

The code pieces that will be seen in this section can be requested from the author.

There are two important MATLAB functions that are used in the project; freqz and filter. Freqz is used when the plot of the IIR bandpass filter is created. The statement

[h, f ] = f reqz(b, a, 512, T ) (3.19)

returns the complex frequency response in the vector h. The vector f contains the 512

frequency points between 0 and T /2 used in the frequency response calculation. T is

(30)

the sampling frequency, which in this case is 44100 Hz. This is then used in df t = gain 2 ∗ abs(h. ∗ h). Finally, this is plotted with the command plot(f, 10 ∗ log 10 (df t), −r ), where r is the colour of the line plotted, in this case red.

Filter is used in the creation of the noise. When white noise is input to the IIR bandpass filter, the output will be coloured noise, as stated earlier in this chapter.

The filter function needs the numerator from the IIR bandpass filter, which is

b = [((1 + α)/2); 0; (((−1) − α)/2)], (3.20) and the denominator, which is

a = [1; −(β ∗ (1 − α)); −α]. (3.21)

This is then used with normalised white noise

x = randn(T, 1). (3.22)

T is, as before, 44100 Hz, which is a standard sampling rate when dealing with sound.

This result is then used in the filter function to create the coloured noise output

y = g ∗ f ilter(b, a, x), (3.23)

where g is the gain.

(31)
(32)

C HAPTER 4 Implementations

The software implementation consists of two major parts. The first part consists of making a GUI (Graphical User Interface) and a sound simulation system in MATLAB and the second part is about making an applet in Java that would run in a browser accessable for anyone. The system also includes an RMI (Remote Method Invocation) server which handles communication between MATLAB and Java.

The purpose of making these two different parts was that they would be able to perform the same sound simulation, but with different user interfaces, see figure 4.1. The

MATLAB GUI was made as a prototype to make sure the sound simulation system contained the right functions and was working properly. The interface that was to be used by people with tinnitus was the Java applet that would run in a browser. The applet interacts with the sound simulation system in MATLAB through the RMI server.

sound simulation system

Java RMI server

MATLAB GUI

Java applet MATLAB

User

User

Figure 4.1: The parts of the project

25

(33)

26 Implementations

In section 4.1 the implementation of the sound simulation system and a GUI in MATLAB is described. Section 4.2 discusses the implementation of an applet and an RMI server in Java. In section 4.3, some issues and improvements of the system are discussed.

4.1 Implementation in MATLAB

To be able to make a sound simulation system in MATLAB, a GUI had to be implemented to make the system easy to test and to use. The functionality of the system kept changing with the progress of the GUI. The sound simulation system used in the final version of the GUI is the same system as the system used with the applet and the RMI server.

4.1.1 The GUI

The first thing to do was to read about how to implement a GUI in MATLAB. The actual making of the GUI began with a simple design on how the GUI was supposed to look when it was finished. The final result is very different from these first designs, because the goals of how the GUI was supposed to look like and its functionality changed with time. Figure 4.2 and figure 4.3 are examples of early versions of the GUI.

In figure 4.2 there was one coloured noise generated with two adjustable parameters;

center frequency and bandwidth. The parameters could be changed with sliders, and when a parameter was changed, the sound was recalculated and the plot was redrawn by the sound simulation system. When the sound button was pushed, the coloured noise determined by the sliders could be heard. The save button was supposed to save the noise in a file for future listening and comparison. The close button closed down the GUI.

Figure 4.3 shows what the GUI looked like with some improvements. This version of the system could generate two coloured noise and two sinusoid tones. It was possible to examine both noise at the same time in separate plots. The adjustable parameters for the noise were the same as in 4.2. The sinusoids were new for this GUI and there was one slider for each sinusoid where the frequency could be adjusted. In this GUI there were a lot of buttons. That made the GUI appear very messy. The save button was supposed to save a sound in a file and the open button was supposed to play a saved sound.

In figure 4.4 you can see how the final GUI looks like when you open the program. The

system can generate two coloured noise, one sinusoid tone and one distorted sinusoid

(34)

4.1. Implementation in MATLAB 27

Figure 4.2: The first GUI in MATLAB

tone.

The plot shows all four signals at one time and the sound simulation system sums all separate plots to one thick black line by superposition. Noise number one is drawn with a red line, noise number two with a blue line, the sinusoid wave is drawn with a green line and the distorted tone with a purple line. The text above the sliders are coloured the same way. This makes it easy to see which parameter is which. Every time a parameter is changed, the plot is redrawn and the sound is recalculated in the sound simulation system.

When the slider parameter center frequency increases, the noise gets “brighter” because the center frequency of the filter increases. When the slider parameter bandwidth com- ponent increases, the noise gets “harder” because the filter gets wider and the frequency gets lower. If the gain parameters are set to zero, the corresponding noise or tone will neither be heard nor seen. The gain parameters adjusts the intensity of the noise and the tone, respectively. This makes it easy to combine, for example, a noise and a tone with the correct proportions between them.

The sinusoid wave tone in the plot is represented by a line in the plot at the selected

(35)

28 Implementations

Figure 4.3: The second GUI in MATLAB

frequency. The height of the line represents the gain parameter. The distorted sinusoid tone is generated in the same way, with a single line at the selected frequency. Unfortu- nately, that is not the right spectrum. There should be many lines representing the tone, but that should only make the plot messy and difficult to understand, so it is generated with one line.

When the save button is pressed, the noise will be saved until the next push on the save button. The saved noise can be listened to when pressing the open button. This makes it possible to compare two different noise. The close button closes the GUI.

4.1.2 The Sound Simulation System

The goal with the sound simulation system was to create a tool for tinnitus patients to

help recreate the noise they hear in their heads. Tinnitus noise can often be very complex

and difficult to explain. This system might help to realize some noise, but maybe not

all. A block diagram of how the noise is created in the system can be seen in figure 4.5.

(36)

4.1. Implementation in MATLAB 29

Figure 4.4: The final GUI with start values

IIR filter

IIR filter White noise

Tinnitus noise

Figure 4.5: Block diagram for the sound simulation

(37)

30 Implementations

The sound simulation system works like this: A person with tinnitus tries to determine how the tinnitus sounds like, and then laborate with the GUI to realize the noise. It is an iterative process, which means that the correct noise is probably not created at the first try.

When a tinnitus patient is trying to recreate the tinnitus noise, it is best to begin match- ing the noise. Even though tinnitus patients usually claim they only have a tone and no noise in their tinnitus noise, there is often a noise there too. This is simply because the tone often is most distinct, masking the noise part.

In the early versions of the sound simulation system there were some various problems with aliasing, but that got fixed when the sample frequency was set to 44100 Hertz.

Much is changed in the final result of the system. The noise center frequency can be chosen between 0 and 22050 Hertz. 22050 Hertz is half the sampling rate, which is chosen to be 44100 Hertz. The sampling rate, 44100 Hertz, is a standard rate for music and more than twice the highest frequency a human ear can hear, which is why it is a good sampling rate according to the Nyquist criteria, which states f sam = T 1 = 2f m [5]. f sam

is the sample rate (44100 Hertz), T = f requency 1 and f m is the chosen frequency interval.

The center frequency parameter determines where on the horisontal axis the maximum of the curve should be.

The noise bandwidth component parameter can be chosen between −0.99 and 0.99. These values have not been changed at all from the earlier versions of the system, because the stability criteria −1 < α < 1 has not changed. α is the same as the slider parameter called bandwidth component. It was called bandwidth component because it was easier to understand what it did than α would do for an average tinnitus patient user.

The second-order bandpass IIR-filter used in the making of the coloured noise has the transfer function

H BP (Ω) = 1 − α + (−1 + α)e 2jΩ

2(1 − β(1 + α)e jΩ + αe 2jΩ ) , (4.1) where β = cos(Ω 0 ), Ω 0 = ω 0 T s = 2πf 0 T s and |α| < 1, see [11]. Ω 0 has the period [−π, π]

and is changed with the center frequency slider and α is changed with the bandwidth component slider.

In the sinusoid tone and the distorted sinusoid tone the frequency parameters can be

chosen between 1000 and 12000 Hertz, because that is a common frequency spectrum for

tinnitus tones. The gain parameter adjusts the intensity of the tone and how much of

the tone that is to be seen in the plot.

(38)

4.2. Implementation in Java 31

The distorted sinusoid tone is generated from the formula s[k] =

N

X

n=1

sin [[2n − 1]Ω 0 k]

[2n − 1] , (4.2)

where [2N − 1]Ω 0 < 2Ω s , due to the Nyquist criteria.

In the plot the noise is generated by first calculating the frequency response from the filter parameters and then calculating and ploting the psd. The tones are visualized as vertical lines at the right frequency in the plot.

4.2 Implementation in Java

The idea with making an implementation in Java, was to use the sound simulation system implemented in MATLAB together with an other user interface than the one provided by MATLAB, i.e., a browser. The user interface became an applet and the communication between Java and MATLAB was done by an RMI (Remote Method Invocation) server.

At the beginning of the project, the intention was to make an easy and simple solution that would not take too much time. The search for a simple way to do the communication between MATLAB and Java led into many side-tracks, for example making a signed applet or writing a CGI (Common Gateway Interface) script instead of an applet. A signed applet is an applet that has increased rights, in comparison with an ordinary applet. A signed applet can, for example, write a file to disc or load a file from disc, something an ordinary applet may not do. Unfortunately, a signed applet was too difficult to do and there was no good manual to find about signed applets that would help the implementation. The CGI script idea was rejected because of the bad security CGI offers.

When running a CGI script in a browser, anyone could access the host computer if the script was not correctly written. The fact that CGI scripts are not allowed to run on the server that the department has was another reason. Finally, Carl Knutsson came to rescue. He made an RMI server for the project, see 4.2.2.

4.2.1 The Applet

When the GUI in MATLAB was done, the next part in the project could begin; creating

an applet in Java. The reason why an applet was created was to enable the sound

simulation system done in MATLAB to become a remote diagnostic tool, i.e., an applet

that is run in a web browser. The applet is intended to communicate with a server

(39)

32 Implementations

that runs and executes MATLAB with the tinnitus sound simulation program. The RMI server passes information back and forth between the applet and MATLAB. The intention was that anyone in the world should be able to access the system and with its help realize their tinnitus to people in their surroundings.

The applet GUI looks different from the GUI done in MATLAB. Figure 4.6 shows what it looks like. The parameters are the same as in the MATLAB GUI, but there are no sliders in the applet. That is because the sliders were difficult to get the right size and to get them to work properly. According to the manual, a parameter had to be changed to be able to change the size of the slider, but changing that parameter did not do anything for the size of the slider. Now the person with tinnitus has to enter the desired values of the parameters, instead of changing the value in a slider.

The start values shown when the applet starts, see figure 4.6, are the same as in the GUI, except for the bandwidth components and the gain parameters, where the numbers are integers instead of float numbers as in the GUI. For the user, it is easier to handle all numbers as integers. When the MATLAB program is run, the parameters are scaled to the right intervals needed for stability.

The plot is exactly the same plot as in the MATLAB GUI. The parameters are sent by the server to a program in MATLAB where the plot is redrawn and the sound is recalculated. The plot is saved as a GIF (Graphic Interchange Format) picture with the help of a MATLAB BMP (BitMaP) command and then converted into a GIF with the help of the RMI server in MATLAB. The command is executed outside MATLAB. The created noise is saved as a wave file with a MATLAB command. The plot of the noise is shown in the applet. Since the plot and the sound are saved to file, the applet can get the new files directly from the disc with the help of the server. Several users should be able to use the program at the same time.

There has been a problem to get the applet show the plot, but that was solved when the possibility to use a GIF picture arised. The GIF picture shows the plot exactly as it should be shown. The intention was to use a BMP or a JPEG (Joint Photographic Experts Group), but Netscape does not make it possible to use BMP, only Internet Explorer can show a BMP picture and JPEG is the wrong format for showing graphical plots, because JPEG creates waves near sharp edges, and that does not look good.

MATLAB changed the size of the JPEG plot when created and that made the plot very incomplete and ugly when decreased into right size again.

The sound has also been a problem. Finally it was decided that there was nothing wrong

with the implementation, as thought earlier. The problem was the browser, that has to

support Java2 for the sound to be heard. At the web page where the applet is, there is

(40)

4.2. Implementation in Java 33

Figure 4.6: The applet with start values

now a link to Sun’s web page where the plug-in can be downloaded. Unfortunately, as

discussed later, the applet is not accessible since the RMI server does not work.

(41)

4.2.2 The RMI Server

This part of the project was made by Carl Knutsson, a student at the program of Com- puter Science and Engineering. There will be only a short description on how the server works. The server is supposed to be up and running all the time, to make access possible for as many people as possible.

The communication between the applet and the server is done by RMI. At the applet startup, when someone enters the web page, MATLAB is started by the RMI server and is waiting for the server to send commands. Communication between MATLAB and the server is done through stdin (standard in). The client (the applet) sends parameters to the server, which creates a string, a matlab statement, that can be executed in MATLAB.

The result from MATLAB is saved to file and read by the applet directly from file by HTTP (Hyper Text Transfer Protocol).

The application distributes some of MATLAB’s functionality so that everyone can access the applet, but since the client only sends parameters declared to the server and the script executed in MATLAB cannot be modified by an intruder, no other use than the specified one should be possible. There can be a problem with the MATLAB licence, due to the public distribution, but that question is yet to be investigated.

Other programs found on the Internet, such as JMatLink 1.00 and Matlab On the Web (MOW), investigated for use beween MATLAB and Java have had a security hole, where the client user had the possibility to use the program to get into the computer which runs the program and do whatever they want. This should not be possible with the current system.

4.3 Issues and Improvements

The communication between MATLAB and the server could use Mex and Java native interface in combination with C, instead of stdin and stdout to increase the performance.

There is a MATLAB ServLet available on MathWorks that could be used with the MAT- LAB GUI directly instead of the server and the applet done in Java. This could have made this project shorter, and that extra time could have been used to make the user interface better and maybe to add some more functions to the sound simulation system.

The reason it was not used was that it was not available at the time and the project

could have been too simple to perform.

(42)

C HAPTER 5 Conclusions

The purpose of the sound simulation system was to create a remote tool that anyone with tinnitus and the access to a computer and the Internet should be able to use for realisation of tinnitus to unaffected people.

The sound simulation system created in MATLAB consists of two different noise, a pure sinusoid tone and a distorted sinusoid tone. These can be used one at a time or all together to uptain a tinnitus noise similar to the noise a tinnitus patient hears. If anyone is interested to use the program, contact the author of this thesis.

The sound simulation system is tested by a person working at the hospital in Sunder- byn, and his report stated that it should be a good tool for tinnitus patients to use.

Unfortunately, he has not approved that his name and status could be published in this thesis.

Sliders were not used in the applet as in the GUI, because they were difficult to enlarge as wanted. The parameters have to be typed instead. The plot was difficult to get inside the applet, because of usage of the wrong picture format. With the right picture format, it worked instantly, so the conclusion is that the applet works.

The connection between Java and MATLAB resulted in an RMI server that Carl Knutsson implemented. The source code will be available on request. The RMI server has some problem with the Security Manager, and that is a problem to be solved. The program does not work in a browser as it was supposed to. The total product is therefore not working, and the project failed because the connection between MATLAB and Java did not function properly. Maybe an other solution should work, for example using a

35

(43)

36 Conclusions

MATLAB ServLet, but that possibility will not be explored because of the time this

project has taken this far.

(44)

R EFERENCES

[1] W. A. Yost, Fundamentals of Hearing. Academic Press, 2000.

[2] G. Lid´en, ed., Audiologi. Almqvist & Wiksell, 1985.

[3] G. Andersson, Tinnitus. Studentlitteratur, Lund, 2000.

[4] R. Ottoson, Signalteori. Kungliga Tekniska H¨ogskolan, Stockholm, 1988.

[5] B. Porat, A Course In Digital Signal Processing. John Wiley & Sons, Inc., 1997.

[6] A. Sv¨ardstr¨om, Signaler och system. Studentlitteratur, Lund, 1999.

[7] S. K. Mitra, Digital Signal Processing, A Computer-Based Approach. McGraw-Hill, 1998.

[8] L. Bengtsson, Signalbehandling. Liber AB, 1996.

[9] N. Van den Enden, A.W.M. & Verhoeckx, Discrete-Time Signal Processing. An Introduction. Prentice Hall International Ltd, 1989.

[10] D. G. Proakis, John G. & Manolakis, Digital Signal Processing. Principles, Algo- rithms, and Applications - Second edition . Macmillan Publishing Company, USA, 1992.

[11] A. V. Oppenheim and A. S. W. with Hamid Nawab, Signals and systems, second edition . Prentice-Hall International Ltd, New Jersey, USA, 1997.

37

References

Related documents

Two aspects of ambient noise masking of sound from wind turbines are high- lighted: the development of a prediction model for vegetation noise and the relative levels of ambient

This paper describes the implementation and simulation of a model for prediction of the electromagnetic noise generated by traction motors, based on prediction of the

The increasing availability of data and attention to services has increased the understanding of the contribution of services to innovation and productivity in

Generella styrmedel kan ha varit mindre verksamma än man har trott De generella styrmedlen, till skillnad från de specifika styrmedlen, har kommit att användas i större

Det har inte varit möjligt att skapa en tydlig överblick över hur FoI-verksamheten på Energimyndigheten bidrar till målet, det vill säga hur målen påverkar resursprioriteringar

Te miniature, the story taking place in it and the evaluation were designed to explore how a physical model and audio narrative collaborate with each other to create

Genom att först skaffa mig information om och sedan analysera och jämföra inspelningar från 60- till 80-tal, kunde jag avläsa att förändringar i

HPD noise, in which all 18 channels within an HPD report energy deposits greater than 1 GeV, is evident in the noise data, while simulated events and data triggered on cos- mic