Archive for June 27, 2013

ホーンプロファイル研究 / Horn Profile Study

facebooktwittergoogle_plusredditpinterestlinkedinmailby feather

Presented here is the way to design and build a quadrant
horn. This horn was born from the need of a simple to build contour. An
exponential or hypex contour can pose problems for an amateur builder
having access just to handheld tools. The quadrant horn can be easily
constructed with the use of a hand operated router.

ここで展示されているのは、Quadrant ホーンの設計と構築の方法です。このホーンは、音調曲線を作るというシンプルな必要性から生まれました。急上昇またはhypexな音調曲線は、小型ツールへのアクセスを持つアマチュア製作者にとっては問題になることがあります。四分円ホーンは、手操作ルーターの使用で簡単に組み立てることができます。

1. The contour calculation:
The horn contour describes an arc of a circle equal in length with
the circumference of a quadrant. Looking at a cross-section along the x
axis we can see that each side defines the outline of a quadrant. The
circles have their centers on the same plane with the horn’s throat so x
coordinate of the center will always be 0.
In practice it can differ as other segments can be added between
the throat and the driver to provide a better loading of the diaphragm.
In order to plot the curve we will look at the fourth quadrant of a
circle. Starting from the circle equation: (x-a)^2+(y-b)^2=R^2. With
(a,b) being the coordinates of the circle’s center and as we stated a=0
then our equation will be x^2+(y-b)^2=R^2.
The reason we chose a=0 is that x will be the axis of expansion for
our curve. This means that for each value of x>=a we will calculate the
value of y and plot the (x,y) point.
Fig. 1. shows a drawing of the horn’s contour. It is important to
notice that the value of b will be calculated knowing the radius of the
throat and either the radius of the circle or the radius of the mouth.
The radius of the mouth can be chosen to meet a desired system’s
dimensions or from the common term in the PA world “mouth frequency” or
the horn’s cutoff frequency.
In fig. 1. we can see that b=Rt+Rc, with Rt= throat radius, Rc=
circle radius. The mouth radius will always equal the value of b,
Our equation now becomes x^2+(y-Rt-Rc)^2=Rc^2. To determine the
values of y for the fourth quadrant we are interested in the negative
solutions for x=0…Rc. It is important to notice that the value of x
can never exceed the value of Rc.
To plot the curve in positive x,y coordinates the equation is:
The values of y(x) with x=0…Rc describe just the radius at
distance x of an axisymmetric horn. To determine the diameter or width
we just need to multiply by 2:

Horn profile calculation

Fig. 1.

 2. Modeling
A spreadsheet was developed for calculation of Baffle input
parameters for AxiDriver based on the last equation.
There are some observations that can be easily made looking at
fig.1. As it is, the horn will always have the mouth diameter more than
2 times the length of the horn. This rapid expansion makes it more
suitable for midrange and high frequency usage.
In the next pages are the results of AxiDriver simulations of
different sizes of Rm for the quadrant horn.

110 130 150 170 190 210 230 250 270 290 310 330 350

As can be seen from BEM simulations, the profile maintains a nice 60 degree directivity all the way to 20kHz.

Attached you can find the spreadsheet to run your own simulations.

quadrant horn spreadsheet

Thank you for visiting / ご覧いただきありがとうございます。


facebooktwittergoogle_plusredditpinterestlinkedinmailby feather

こんにちは、ここでは、TANNOY KINGDOM ROYALのいくつかの写真です。私はEsotericアンプで聞きましたが、格別な演奏を楽しむことができました。

Tannoy Kingdom Royal Components view

Tannoy Kingdom Royal Components view Tannoy Kingdom Royal Components view Tannoy Kingdom Royal Components view Tannoy Kingdom Royal Components view Tannoy Kingdom Royal Components view Tannoy Kingdom Royal Components view Tannoy Kingdom Royal Components view Tannoy Kingdom Royal Components view Tannoy Kingdom Royal Components view


WM8510オーディオコーデック / WM8510 Audio Codec: Configuring for 48kHz Sampling Rate

dsPic Starter kit WM8510 facebooktwittergoogle_plusredditpinterestlinkedinmailby feather

こんにちは / Hello,

A couple of posts below i mentioned about Wolfson WM8510 audio codec used in the Microchip’s DCS Starter Kit. In the demo files found on Microchip’s webpage you can find a driver for this codec written in C  but it only has config defined for 8kHz and 16kHz which ofcourse it is very very low for any hi-fi standard. This doesn’t mean the chip can’t do better.

First thing we will need the datasheet of the WM8510 which can be found here. At page 65 you will find [Register Bits by Address] and this is a very helpfull map around the device’s registers.

Now lets look at the files from Microchip. We have WM8510CodecDrv.c and WM8510CodecDrv.h. These two are the ones that interest us. In main.c file we can see the function call that sets up WM8510 for the desired sampling rate:

/* Configure codec for 8K operation */

WM9510SampleRate8KConfig() function is defined in WM8510CodecDrv.c file. Under this function are a bunch of instructions that will write specific values in WM8510’s registers. For example:

commandValue = 0b000000100;
WM8510IOCtl(codecHandle,WM8510_INPUT_CTRL, (void *) &commandValue);

This will write 000000100 bits in WM8510_INPUT_CTRL register. All register names are defined in WM8510CodecDrv.h and each name has a decimal value attributed. This decimal value coresponds to the Register Address from page 65 in the WM8510 datasheet.

I found a weird thing in the setup for 8kHz sampling rate which i dont understand:

commandValue = 0b001111101;
WM8510IOCtl(codecHandle,WM8510_NOTCH_FILTER4, (void *) &commandValue);
if (result == -1) while(1);

commandValue = 0b100000000;
WM8510IOCtl(codecHandle,WM8510_NOTCH_FILTER4, (void *) &commandValue);
if (result == -1) while(1);

Why write two different values in the same register in consecutive instructions beats me.

So in order to configure WM8510 for 48kHz sampling rate we will need to create one more function and add it to the WM8510CodecDrv.c, basically copy paste from the 16kHz one and then modify it, or just copy paste whats below. Remember to backup your files first and read the disclaimer :).

void WM8510SampleRate48KConfig(WM8510Handle *codecHandle)
int commandValue,result;
commandValue = 1; /* Any value can be written to reset the codec */
result = WM8510IOCtl(codecHandle,WM8510_SOFTWARE_RESET, (void *) &commandValue);
if (result == -1) while(1);
commandValue = 0b001101111;
WM8510IOCtl(codecHandle,WM8510_POWER_MGMT1, (void *) &commandValue);
if (result == -1) while(1);
commandValue = 0b000010101;
WM8510IOCtl(codecHandle,WM8510_POWER_MGMT2, (void *) &commandValue);
if (result == -1) while(1);
commandValue = 0b010001001;
WM8510IOCtl(codecHandle,WM8510_POWER_MGMT3, (void *) &commandValue);
if (result == -1) while(1);
commandValue = 0b000011000;
WM8510IOCtl(codecHandle,WM8510_AUDIO_INTERFACE, (void *) &commandValue);
if (result == -1) while(1);
commandValue = 0b100000001;
WM8510IOCtl(codecHandle,WM8510_CLOCKGEN_CTRL, (void *) &commandValue);
if (result == -1) while(1);
commandValue = 0b000000000;
WM8510IOCtl(codecHandle,WM8510_ADDITIONAL_CTRL, (void *) &commandValue);
if (result == -1) while(1);
commandValue = 0b000000100;
WM8510IOCtl(codecHandle,WM8510_GPIO_STUFF, (void *) &commandValue);
if (result == -1) while(1);
commandValue = 0b000001000;
WM8510IOCtl(codecHandle,WM8510_PLL_N, (void *) &commandValue);
if (result == -1) while(1);
commandValue = 0b000001100;
WM8510IOCtl(codecHandle,WM8510_PLL_K1, (void *) &commandValue);
if (result == -1) while(1);
commandValue = 0b010010011;
WM8510IOCtl(codecHandle,WM8510_PLL_K2, (void *) &commandValue);
if (result == -1) while(1);
commandValue = 0b011101001;
WM8510IOCtl(codecHandle,WM8510_PLL_K3, (void *) &commandValue);
if (result == -1) while(1);
commandValue = 0b000000100;
WM8510IOCtl(codecHandle,WM8510_INPUT_CTRL, (void *) &commandValue);
if (result == -1) while(1);
commandValue = 0b000000000;
WM8510IOCtl(codecHandle,WM8510_ADC_BOOST_CTRL, (void *) &commandValue);
if (result == -1) while(1);
commandValue = 0b000000001;
WM8510IOCtl(codecHandle,WM8510_MONO_MIXER_CTRL, (void *) &commandValue);
if (result == -1) while(1);
commandValue = 0b100001000;
WM8510IOCtl(codecHandle,WM8510_ADC_CONTROL , (void *) &commandValue);
if (result == -1) while(1);


Now in WM8510CodecDrv.h you must add before #endif

void WM8510SampleRate48KConfig(WM8510Handle *codecHandle);

After this the chip is configured to work at 48kHz sampling rate and 16bits word length. To modify it for 24bits you need to modify bits 6:5 to 0b10 from register 4 or WM8510_AUDIO_INTERFACE. For 48kHz sampling rate first you need to modify bits 3:1 to 0b000 (default value actually) in WM8510_ADDITIONAL_CTRL (R7) register, bits 7:2 in WM8510_CLOCKGEN_CTRL (R6) to 0b000000 and bit 4 in WM8510_PLL_N (R36) to 0.

I have run some sine log sweeps to determine frequency response and here are the results:

WM8510 8kHz sampling rate dsPIC Starter KItWM8510 16kHz sampling rate dsPIC Starter KItWM8510 48kHz sampling rate dsPIC Starter KIt


Looking through the register map you can see many usefull functions like an input mixer, gain control, level control, output selection, some filtering capabilities. You can modify all these registers in main.c by calling WM8510IOCtl() function. After you added the 48kHz config in the driver .c file you will also need to replace the WM8510SampleRate8KConfig(codecHandle); with WM8510SampleRate48KConfig(codecHandle); in main.c. 

Happy coding and thanks for visiting.


同軸TQWTスピーカープロジェクト/Coaxial TQWT Loudspeaker Project

facebooktwittergoogle_plusredditpinterestlinkedinmailby feather

This is an old TQWT Loudspeaker project on which i still have some data saved and i thought i should present it.

One of the other drivers from HiPower Audio Co. was 6366 a very nice 10″ mid-bass with quite a smooth frequency response and low distortion. With a high resonance frequency though they were shy on bass in a bass reflex enclosure though so for home hi-fi systems other alignments needed to be considered.

A FLH horn was considered due to the strong motor and the stiff suspension system but with a Mms of 34.9g is not really light enough for this kind of application. So the next thing that came to mind was a TQWT Loudspeaker.

I had built other TQWT/VTP  loudspeakers and i usually have the mouth area between 0.5 and 1.5 of SD of the driver. This however requires a strong motor on the driver to control it.

Here are specs for 6366:

  • Nominal Diameter: 250mm/10inch
  • Power Handling: 180W
  • SPL: 95dB/W/m
  • Minimum Impedance: 6.1 ohm
  • Re: 5.3 ohms BL: 13.8 Tm Le: 0.95mH
  • Mms: 34.9g Cms: 0.19mm/N Re: 1.15 mecks
  • Fs: 61Hz Vas: 32.2L SD: 350cm^2
  • Qes: 0.38 Qms: 11.8 Qts: 0.37
  • Efficiency: 1.95%

Similar mid-bass that will work well is Monacor SP-10/150PA

Below you can find the drawings of the enclosure as well as acoustic fill material placement along the line.

同軸TQWTスピーカープロジェクト TQWT Loudspeaker同軸TQWTスピーカープロジェクト TQWT Loudspeaker 同軸TQWTスピーカープロジェクト TQWT Loudspeaker

The acoustic fill material inside the enclosure was chosen to be mineral wool. It has a very good price/quality ratio. Several tests were performed before choosing the best positioning.

Thinking of the high frequency unit, the mid-woofer had a vent of 30mm diameter and i realized i that could be the acoustic path for a compression driver mounted on the back of the woofer. This way i could create a coaxial driver with its coherence advantages.

I create a simple aluminum tube to transition smootly from 25mm to 30mm. Once it exit  the mid-bass pole piece it needed a small horn, otherwise it would beam very much and there are many changes to get high amounts of doppler distortion.

I have found a pair of small Bi-radial like horns that seems perfect for the job. Running a test in AxiDriver demo shows a pretty good directivity control up until 12-13Khz, after that it start lobbing.

同軸TQWTスピーカープロジェクト TQWT Loudspeaker 同軸TQWTスピーカープロジェクト TQWT Loudspeaker 同軸TQWTスピーカープロジェクト TQWT LoudspeakerCrossover starter from my old first order at around 20kHz for the compression driver. This allows the elimination of an L-pad with i don’t like to use very much. Allowing a slow slope 6db/octave evens out the rise in the lower frequency that horns give to compression drivers so not only you will match sensitivity to that of the woofer without L-pad but you also reach a linear frequency response.

同軸TQWTスピーカープロジェクト TQWT Loudspeaker

Axial frequency response of mid-bass

同軸TQWTスピーカープロジェクト TQWT Loudspeaker同軸TQWTスピーカープロジェクト TQWT Loudspeaker 同軸TQWTスピーカープロジェクト TQWT LoudspeakerFirst crossover version and frequency response.

同軸TQWTスピーカープロジェクト TQWT Loudspeaker 同軸TQWTスピーカープロジェクト TQWT Loudspeaker同軸TQWTスピーカープロジェクト TQWT Loudspeaker

 Second crossover schematic, response and electrical impedance

同軸TQWTスピーカープロジェクト TQWT Loudspeaker 同軸TQWTスピーカープロジェクト TQWT Loudspeaker 同軸TQWTスピーカープロジェクト TQWT Loudspeaker 同軸TQWTスピーカープロジェクト TQWT Loudspeaker同軸TQWTスピーカープロジェクト TQWT Loudspeaker 同軸TQWTスピーカープロジェクト TQWT Loudspeaker 同軸TQWTスピーカープロジェクト TQWT Loudspeaker 同軸TQWTスピーカープロジェクト TQWT Loudspeaker 同軸TQWTスピーカープロジェクト TQWT Loudspeaker 同軸TQWTスピーカープロジェクト TQWT Loudspeaker

First test was done on my RH84 amplifier. High resolution, good tonal balance and the best stereo image i ever got. The coaxial experiment resulted in a nice coherent source. All sounds come from the same center, the speakers just disappear completly. With the russian 6P3S-E PP amp the fullness and power started to show. Its a very dynamic speaker and can deliver really high output. It is amazing how much bass you can get from a woofer with a resonance frequency of 63Hz if used in a TQWT loudspeaker and properly loaded.


facebooktwittergoogle_plusredditpinterestlinkedinmailby feather

img_0699 img_0700 img_0701 img_0702 img_0703 img_0704





Bass reflex port seems to be optimized for low distortion and compression.
dsc02177 dsc02179


JBL EVERESTは、高性能スピーカーシステムです。私はAccuphaseアンプやマークレビンソンアンプで聞きましたが、格別な演奏を楽しむことができました。個人的にはAccuphaseの方が好きでしたが、同じセットアップ上ではAvalon timeよりは良い響きだったと思います。ダイナミックなインパクトと高解像度のフルサウンドを同時に。


JBL EVEREST is a high fidelity loudspeaker system. I enjoyed exceptional performance with Accuphase amp and Mark Levinson amp. I liked it more with ACCUPHASE and to me it sounded better than AVALON TIME on the same setup.Full sound with great impact and high resolution at the same time.

Wolfson WM8510

facebooktwittergoogle_plusredditpinterestlinkedinmailby feather

I started recently to look at Wolfson’s WM8510 audio codec. It is a mono device featuring 24 bit ADC and DAC running up to 48kHz sampling rate. It has some pre-defined DSP functions, filters, automatic level control ALC, programable gain and input selection.

Also it has a briged small power amplifier that can be used as a balanced output although it will need some decoupling caps. It is a nice chip and I become interested in it since it was on the dsPIC Digital Signal Controller Starter Kit from Microchip.

Microchip provides in their demo files a driver for this codec however they only define functions that set a low sampling rate of 8kHz and 16kHz.

I will explore in the next days the capabilities of this codec driving it at 48kHz sampling rate and i will show you how to modify the Microchip driver.


JBL S4700 Inside View

facebooktwittergoogle_plusredditpinterestlinkedinmailby feather

Hello, こんにちは


Recently i saw a pair of JBL S4700 in shop being sold and i remembered these speakers performing at the Tokyo International Audio Show in 2011. I remembered i liked them alot but then again i am very hard to be disappointed by JBL.

Here are a few pictures of S4700 showing crossover and driver placement.

img_0688img_0690 img_0691 img_0692 img_0693


As you can see JBL is not shy to using electrolytic capacitors where sonic differences are negligeable but uses only air core inductors. It is in a way logical to think that series elements will affect sound a lot more than parallel ones. In any case S4700 sounds great.

バスレフスピーカー / 2 Way Vented Loudspeaker Project

facebooktwittergoogle_plusredditpinterestlinkedinmailby feather

pic9This project began with the desire to create compact loudspeaker capable of high output, high resolution, a wide dispersion and good low frequency reproduction.

So compact was the first criteria, but how much compact could i get? It had to be a ported design and so to get high output and good low frequency reproduction i felt i couldn’t go lower than 12 inch on mid-bass size. I had my 8402 mid-bass on which i worked with HiPower Audio Co. and it proved to perform very good in small enclosures.

Similar mid-bass drivers who will work well with just slight modification of the crossover are JBL 2206H and Beyma 12LX60. There was also 12LX60v2 from Beyma but that was more suitable for woofer application than mid-bass.

Lets look at the axial frequency response of the 8402 below.


We can see it is fairly linear up until 2kHz and that is very helpful in choosing a crossover point around 1Khz. The small upper tilt between 1kHz and 2kHz is also helpful as it can move the acoustical crossover point a little higher in frequency than the electrical one. This is something that the compression driver will like.


Having a 4 inch voice coil the woofer is sure capable of delivering high levels of low frequencies without much effort. The magnet system is huge and gives this woofer a lot of force.




Specifications for the 8402 woofer:


  • Sine-wave Power Handling: 450W
  • Program Power Handling: 900W
  • Sensitivity: 95db/W/m
  • Minimum Impedance: 6.8 ohm
  • Voice coil winding depth: 23mm
  • Magnetic gap height: 12mm
  • Flux Density: 1.1T
  • Fs: 48.7Hz
  • Qes: 0.27 Qms: 14.2 Qts: 0.26
  • Re: 5.4 ohm Le: 1.86 mH BL: 24.5 Tm
  • Mms: 97 g Rms: 2.1 mks Cms: 0.11 mm/N
  • Efficiency: 2%

For high frequency reproduction was thinking at first of a 2″ diaphragm 1″ exit compression driver. Something like Peavey RX-22 which i used with good results before. But i would’ve needed a supertweeter so a smaller format driver was needed.

1.7″diaphragm 1″ exit 8044 with modified mylar surround proved to be the one for the job. Loaded the driver with a round 12″ tractrix horn and performed a few measurements. The horn provided a nice boost in the upper midrange, 2kHz region. A simple first order crossover was built to equalize the response. Measurements were done on axis, 30 deg, 60deg, 90deg. The polar data can be seen in the picture below.



We can see that it has a pretty good directivity to match the mid-bass at the crossover point. Around 90deg at 1khz and then smoothly narrowing to about 60deg.


Low pass filter was built with a 1mH inductor and a 4.7uF capacitor. Below you can see the schematic for the high pass section and system’s axial frequency response.










You can see that the end acoustically crossover point is at 1.8kHz.

As for sound, the resolution is great, very detailed but neutral. It has tremendous impact and dynamics, the drums on “More blues” from Pink Floyd or “The four horsemen” from Aphrodite’s Child simply jump at you. Tests were done with EL84 SE, 6p3s-E PP and a 5kW professional amplifier. Short term power at input when tested was close to 1100W, the amount of output at those power levels is extraordinary.

A few more pictures.


94.4V sine wave at 40Hz for about 15 min with no problems and max SPL reached (A Weighted)


I planned on doing more measurements and tests but the project was sold very fast. The owner seems to be very happy with these speakers and i thank him for his interest in my design.


LM35温度センサー / LM35 Temperature Sensor

facebooktwittergoogle_plusredditpinterestlinkedinmailby feather



LM35 temperature sensor. A cheap and reliable sensor that can measure temperature on Celsius scale. Connected to a DB9 plug to be used with TEA.


ホルン型ラウドスピーカー / Horn Speakers

facebooktwittergoogle_plusredditpinterestlinkedinmailby feather