prompt_front: Now, answer the following question based on the text below, only give me the answer and do not output any other words.

Question: What is the proposed approach in this research paper?

Read the following text and answer briefly.

Context 1: \section{Introduction}
\label{sec:introduction}

Probabilistic models have proven to be very useful in a lot of applications in signal processing where signal estimation is needed \cite{rabiner1989tutorial,arulampalam2002tutorial,ji2008bayesian}  Some of their advantages are that 1) they force the designer to specify all the assumptions of the model, 2) they provide a clear separation between the model and the algorithm used to solve it, and 3) they usually provide some measure of uncertainty about the estimation 

On the other hand, adaptive filtering is a standard approach in estimation problems when the input is received as a stream of data that is potentially non-stationary  This approach is widely understood and applied to several problems such as echo cancellation \cite{gilloire1992adaptive}, noise cancellation \cite{nelson1991active}, and channel equalization \cite{falconer2002frequency} 

Although these two approaches share some underlying relations, there are very few connections in the literature  The first important attempt in the signal processing community to relate these two fields was the connection between a linear Gaussian state-space model (i e  Kalman filter) and the RLS filter, by Sayed and Kailath \cite{sayed1994state} and then by Haykin \emph{et al } \cite{haykin1997adaptive}  The RLS adaptive filtering algorithm emerges naturally when one defines a particular state-space model (SSM) and then performs exact inference in that model  This approach was later exploited in \cite{van2012kernel} to design a kernel RLS algorithm based on Gaussian processes 

A first attempt to approximate the LMS filter from a probabilistic perspective was presented in \cite{park2014probabilistic}, focusing on a kernel-based implementation  The algorithm of \cite{park2014probabilistic} makes use of a Maximum a Posteriori (MAP) estimate as an approximation for the predictive step  However, this approximation does not preserve the estimate of the uncertainty in each step, therefore degrading the performance of the algorithm 

In this work, we provide a similar connection between state-space models and least-mean-squares (LMS)  Our approach is based on approximating the posterior distribution with an isotropic Gaussian distribution  We show how the computation of this approximated posterior leads to a linear-complexity algorithm, comparable to the standard LMS  Similar approaches have already been developed for a variety of problems such as channel equalization using recurrent RBF neural networks \cite{cid1994recurrent}, or Bayesian forecasting \cite{harrison1999bayesian}  Here, we show the usefulness of this probabilistic approach for adaptive filtering 

The probabilistic perspective we adopt throughout this work presents two main advantages  Firstly, a novel LMS algorithm with adaptable step size emerges naturally with this approach, making it suitable for both stationary and non-stationary environments  The proposed algorithm has less free parameters than previous LMS algorithms with variable step size \cite{kwong1992variable,aboulnasr1997robust,shin2004variable}, and its parameters are easier to be tuned w r t  these algorithms and standard LMS  Secondly, the use of a probabilistic model provides us with an estimate of the error variance, which is useful in many applications 

Experiments with simulated and real data show the advantages of the presented approach with respect to previous works  However, we remark that the main contribution of this paper is that it opens the door to introduce more Bayesian machine learning techniques, such as variational inference and Monte Carlo sampling methods \cite{barber2012bayesian}, to adaptive filtering \\


\section{Probabilistic Model}

Throughout this work, we assume the observation model to be linear-Gaussian with the following distribution,

\begin{equation}
p(y_k|{\bf w}_k) = \mathcal{N}(y_k;{\bf x}_k^T {\bf w}_k , \sigma_n^2),
\label{eq:mess_eq}
\end{equation}
where  $\sigma_n^2$ is the variance of the observation noise, ${\bf x}_k$ is the regression vector and ${\bf w}_k$ is the parameter vector to be sequentially estimated, both $M$-dimensional column vectors 


In a non-stationary scenario, ${\bf w}_k$ follows a dynamic process  In particular, we consider a diffusion process (random-walk model) with variance $\sigma_d^2$ for this parameter vector:


\begin{equation}
p({\bf w}_k|{\bf w}_{k-1})= \mathcal{N}({\bf w}_k;{\bf w}_{k-1}, \sigma_d^2 {\bf I}),
\label{eq:trans_eq}
\end{equation}
where $\bf I$ denotes the identity matrix  In order to initiate the recursion, we assume the following prior distribution on ${\bf w}_k$

\begin{equation}
p({\bf w}_0)= \mathcal{N}({\bf w}_0;0, \sigma_d^2{\bf I}) \nonumber
\end{equation}

\section{Exact inference in this model: Revisiting the RLS filter}

Given the described probabilistic SSM, we would like to infer the posterior probability distribution $p({\bf w}_k|y_{1:k})$ 
Since all involved distributions are Gaussian, one can perform exact inference, leveraging the probability rules in a straightforward manner  The resulting probability distribution is
\begin{equation}
p({\bf w}_k|y_{1:k}) =  \mathcal{N}({\bf w}_k;{\bf\boldsymbol\mu}_{k}, \boldsymbol\Sigma_{k}), \nonumber
\end{equation}
in which the mean vector ${\bf\boldsymbol\mu}_{k}$ is given by
\begin{equation}
{\bf\boldsymbol\mu}_k = {\bf\boldsymbol\mu}_{k-1} + {\bf K}_k (y_k - {\bf x}_k^T {\bf\boldsymbol\mu}_{k-1}){\bf x}_k, \nonumber
\end{equation}
where we have introduced the auxiliary variable
\begin{equation}
{\bf K}_k = \frac{ \left(\boldsymbol\Sigma_{k-1} + \sigma_d^2 {\bf I}\right)}{{\bf x}_k^T  \left(\boldsymbol\Sigma_{k-1} + \sigma_d^2 {\bf I}\right)  {\bf x}_k + \sigma_n^2}, \nonumber
\end{equation}
and the covariance matrix $\boldsymbol\Sigma_k$ is obtained as
\begin{equation}
\boldsymbol\Sigma_k = \left( {\bf I} -  {\bf K}_k{\bf x}_k {\bf x}_k^T \right) ( \boldsymbol\Sigma_{k-1} +\sigma_d^2), \nonumber
\end{equation}
Note that the mode of $p({\bf w}_k|y_{1:k})$, i e  the maximum-a-posteriori estimate (MAP), coincides with the RLS adaptive rule
\begin{equation}
{{\bf w}}_k^{(RLS)} = {{\bf w}}_{k-1}^{(RLS)} + {\bf K}_k (y_k - {\bf x}_k^T {{\bf w}}_{k-1}^{(RLS)}){\bf x}_k  
\label{eq:prob_rls}
\end{equation}
This rule is similar to the one introduced in \cite{haykin1997adaptive} 

Finally, note that the covariance matrix $\boldsymbol\Sigma_k$ is a measure of the uncertainty of the estimate ${\bf w}_k$ conditioned on the observed data $y_{1:k}$  Nevertheless, for many applications a single scalar summarizing the variance of the estimate could prove to be sufficiently useful  In the next section, we show how such a scalar is obtained naturally when $p({\bf w}_k|y_{1:k})$ is approximated with an isotropic Gaussian distribution  We also show that this approximation leads to an LMS-like estimation 
 


\section{Approximating the posterior distribution: LMS filter }

The proposed approach consists in approximating the posterior distribution $p({\bf w}_k|y_{1:k})$, in general a multivariate Gaussian distribution with a full covariance matrix, by an isotropic spherical Gaussian distribution 

\begin{equation}
\label{eq:aprox_post}
\hat{p}({\bf w}_{k}|y_{1:k})=\mathcal{N}({\bf w}_{k};{\bf \hat{\boldsymbol\mu}}_{k}, \hat{\sigma}_{k}^2 {\bf I} ) 
\end{equation}

In order to estimate the mean and covariance of the approximate distribution $\hat{p}({\bf w}_{k}|y_{1:k})$, we propose to select those that minimize the Kullback-Leibler divergence with respect to the original distribution, i e , 

\begin{equation}
\{\hat{\boldsymbol\mu}_k,\hat{\sigma}_k\}=\arg \displaystyle{  \min_{\hat{\boldsymbol\mu}_k,\hat{\sigma}_k}} \{ D_{KL}\left(p({\bf w}_{k}|y_{1:k}))\| \hat{p}({\bf w}_{k}|y_{1:k})\right) \}  \nonumber
\end{equation}

The derivation of the corresponding minimization problem can be found in Appendix A  In particular, the optimal mean and the covariance are found as
\begin{equation}
{\hat{\boldsymbol\mu}}_{k} = {\boldsymbol\mu}_{k};~~~~~~ \hat{\sigma}_{k}^2 = \frac{{\sf Tr}\{ \boldsymbol\Sigma_k\} }{M} 
\label{eq:sigma_hat}
\end{equation}


We now show that by using \eqref{eq:aprox_post} in the recursive predictive and filtering expressions we obtain an LMS-like adaptive rule  First, let us assume that we have an approximate posterior distribution at $k-1$, $\hat{p}({\bf w}_{k-1}|y_{1:k-1}) =  \mathcal{N}({\bf w}_{k-1};\hat{\bf\boldsymbol\mu}_{k-1}, \hat{\sigma}_{k-1}^2 {\bf I} )$  Since all involved distributions are Gaussian, the predictive distribution
is obtained as %
\begin{eqnarray}
\hat{p}({\bf w}_k|y_{1:k-1}) &=& \int p({\bf w}_k|{\bf w}_{k-1}) \hat{p}({\bf w}_{k-1}|y_{1:k-1}) d{\bf w}_{k-1} \nonumber\\
&=& \mathcal{N}({\bf w}_k;{\bf\boldsymbol\mu}_{k|k-1}, \boldsymbol\Sigma_{k|k-1}), 
\label{eq:approx_pred}
\end{eqnarray}
where the mean vector and covariance matrix are given by
\begin{eqnarray}
\hat{\bf\boldsymbol\mu}_{k|k-1} &=& \hat{\bf\boldsymbol\mu}_{k-1} \nonumber \\
\hat{\boldsymbol\Sigma}_{k|k-1} &=& (\hat{\sigma}_{k-1}^2 + \sigma_d^2 ){\bf I}\nonumber 
\end{eqnarray}

From \eqref{eq:approx_pred}, the posterior distribution at time $k$ can be computed using Bayes' Theorem and standard Gaussian manipulations (see for instance \cite[Ch  4]{murphy2012machine})  Then, we approximate the posterior $p({\bf w}_k|y_{1:k})$ with an isotropic Gaussian,
\begin{equation}
\hat{p}({\bf w}_k|y_{1:k}) =  \mathcal{N}({\bf w}_k ; {\hat{\boldsymbol\mu}}_{k}, \hat{\sigma}_k^2 {\bf I} ),\nonumber
\end{equation}
where 
\begin{eqnarray}
{\hat{\boldsymbol\mu}}_{k} &= & {\hat{\boldsymbol\mu}}_{k-1}+ \frac{ (\hat{\sigma}_{k-1}^2+ \sigma_d^2)  }{(\hat{\sigma}_{k-1}^2+ \sigma_d^2)  \|{\bf x}_k\|^2 + \sigma_n^2} (y_k - {\bf x}_k^T {\hat{\boldsymbol\mu}}_{k-1}){\bf x}_k  \nonumber  \\
&=& {\hat{\boldsymbol\mu}}_{k-1}+ \eta_k (y_k - {\bf x}_k^T {\hat{\boldsymbol\mu}}_{k-1}){\bf x}_k   
\label{eq:prob_lms}
\end{eqnarray}
Note that, instead of a gain matrix ${\bf K}_k$ as in Eq ~\eqref{eq:prob_rls}, we now have a scalar gain $\eta_k$ that operates as a variable step size 


Finally, to obtain the posterior variance, which is our measure of uncertainty, we apply \eqref{eq:sigma_hat} and the trick ${\sf Tr}\{{\bf x}_k{\bf x}_k^T\}= {\bf x}_k^T{\bf x}_k= \|{\bf x}_k \|^2$,

\begin{eqnarray}
\hat{\sigma}_k^2 &=& \frac{{\sf Tr}(\boldsymbol\Sigma_k)}{M} \\
&=& \frac{1}{M}{\sf Tr}\left\{ \left( {\bf I} -  \eta_k {\bf x}_k {\bf x}_k^T \right) (\hat{\sigma}_{k-1}^2 +\sigma_d^2)\right\} \\
&=& \left(1 - \frac{\eta_k \|{\bf x}_k\|^2}{M}\right)(\hat{\sigma}_{k-1}^2 +\sigma_d^2) 
\label{eq:sig_k}
\end{eqnarray}
If MAP estimation is performed, we obtain  an adaptable step-size LMS estimation

\begin{equation}
{\bf w}_{k}^{(LMS)} = {\bf w}_{k-1}^{(LMS)} + \eta_k (y_k - {\bf x}_k^T {\bf w}_{k-1}^{(LMS)}){\bf x}_k, 	
\label{eq:lms}
\end{equation}
with
\begin{equation}
\eta_k = \frac{ (\hat{\sigma}_{k-1}^2+ \sigma_d^2)  }{(\hat{\sigma}_{k-1}^2+ \sigma_d^2)  \|{\bf x}_k\|^2 + \sigma_n^2} \nonumber
\end{equation}
At this point, several interesting remarks can be made:

\begin{itemize}

\item The adaptive rule \eqref{eq:lms} has linear complexity since it does not require us to compute the full matrix $\boldsymbol\Sigma_k$ 

\item For a stationary model, we have $\sigma_d^2=0$ in \eqref{eq:prob_lms} and \eqref{eq:sig_k}  In this case, the algorithm remains valid and both the step size and the error variance, $\hat{\sigma}_{k}$, vanish over time $k$  

\item Finally, the proposed adaptable step-size LMS has only two parameters, $\sigma_d^2$ and $\sigma_n^2$, (and only one, $\sigma_n^2$, in stationary scenarios) in contrast to other variable step-size algorithms \cite{kwong1992variable,aboulnasr1997robust,shin2004variable}  More interestingly, both $\sigma_d^2$ and $\sigma_n^2$ have a clear underlying physical meaning, and they can be estimated in many cases  We will comment more about this in the next section  
\end{itemize}



\section{Experiments}
\label{sec:experiments}

We evaluate the performance of the proposed algorithm in both stationary and tracking experiments  In the first experiment, we estimate a fixed vector ${\bf w}^{o}$ of dimension $M=50$  The entries of the vector are independently and uniformly chosen in the range $[-1,1]$  Then, the vector is normalized so that $\|{\bf w}^o\|=1$  Regressors $\boldsymbol{x}_{k}$ are zero-mean Gaussian vectors with identity covariance matrix  The additive noise variance is such that the SNR is $20$ dB  We compare our algorithm with standard RLS and three other LMS-based algorithms: LMS, NLMS \cite{sayed2008adaptive}, VSS-LMS \cite{shin2004variable} \footnote{The used parameters for each algorithm are: for RLS $\lambda=1$, $\epsilon^{-1}=0 01$; for LMS $\mu=0 01$; for NLMS $\mu=0 5$; and for VSS-LMS $\mu_{max}=1$, $\alpha=0 95$, $C=1e-4$ } The probabilistic LMS algorithm in \cite{park2014probabilistic} is not simulated because it is not suitable for stationary environments 

In stationary environments, the proposed algorithm has only one parameter, $\sigma^2_n$  We simulate both the scenario where we have perfectly knowledge of the amount of noise (probLMS1) and the case where the value $\sigma^2_n$ is $100$ times smaller than the actual value (probLMS2)  The Mean-Square Deviation (${\sf MSD} = {\mathbb E} \| {\bf w}_0 - {\bf w}_k \|^2$), averaged out over $50$ independent simulations, is presented in Fig  \ref{fig:msd_statationary} 



\begin{figure}[htb]
\centering
\begin{minipage}[b]{\linewidth}
  \centering
  \centerline{\includegraphics[width=\textwidth]{results_stationary_MSD}}
\end{minipage}
\caption{Performance in terms of MSD of probabilistic LMS with both optimal (probLMS1) and suboptimal (probLMS2) compared to LMS, NLMS, VS-LMS, and RLS }
\label{fig:msd_statationary}
\end{figure}

The performance of probabilistic LMS is close to RLS (obviously at a much lower computational cost) and largely outperforms previous variable step-size LMS algorithms proposed in the literature  Note that, when the model is stationary, i e  $\sigma^2_d=0$ in \eqref{eq:trans_eq},  both the uncertainty $\hat{\sigma}^2_k$, and the adaptive step size $\eta_k$, vanish over time  This implies that the error tends to zero when $k$ goes to infinity  Fig  \ref{fig:msd_statationary} also shows that the proposed approach is not very sensitive to a bad choice of its only parameter, as demonstrated by the good results of probLMS2, which uses a $\sigma^2_n$ that is $100$ times smaller than the optimal value  


\begin{figure}[htb]
\centering
\begin{minipage}[b]{\linewidth}
  \centering
  \centerline{\includegraphics[width=\textwidth]{fig2_final}}
\end{minipage}
\caption{Real part of one coefficient of the measured and estimated channel in experiment two  The shaded area represents two standard deviations from the prediction {(the mean of the posterior distribution)} }
\label{fig_2}
\end{figure}


\begin{table}[ht]
\begin{footnotesize}
\setlength{\tabcolsep}{2pt}
\def1 5mm{1 5mm}
\begin{center}
\begin{tabular}{|l@{\hspace{1 5mm}}|c@{\hspace{1 5mm}}|c@{\hspace{1 5mm}}|c@{\hspace{1 5mm}}|c@{\hspace{1 5mm}}|c@{\hspace{1 5mm}}|c@{\hspace{1 5mm}}|}
\hline
Method &  LMS &  NLMS & LMS-2013 & VSSNLMS & probLMS & RLS \\
\hline
\hline
MSD (dB) &-28 45 &-21 07 &-14 36 &-26 90 &-28 36 &-25 97\\
\hline                                                                     
\end{tabular}
\end{center}
\caption{Steady-state MSD of the different algorithms for the tracking of a real MISO channel }
\label{tab:table_MSD}
\end{footnotesize}

\end{table}
\newpage
In a second experiment, we test the tracking capabilities of the proposed algorithm with {real} data of a wireless MISO channel acquired in a realistic indoor scenario  More details on the setup can be found in \cite{gutierrez2011frequency}  Fig  \ref{fig_2} shows the real part of one of the channels, and the estimate of the proposed algorithm  The shaded area represents the estimated uncertainty for each prediction, i e  $\hat{\mu}_k\pm2\hat{\sigma}_k$  Since the experimental setup does not allow us to obtain the optimal values for the parameters, we fix these parameters to their values that optimize the steady-state mean square deviation (MSD)  \hbox{Table \ref{tab:table_MSD}} shows this steady-state MSD of the estimate of the MISO channel with different methods  As can be seen, the best tracking performance is obtained by standard LMS and the proposed method  





\section{Conclusions and Opened Extensions}
\label{sec:conclusions}

{We have presented a probabilistic interpretation of the least-mean-square filter  The resulting algorithm is an adaptable step-size LMS that performs well both in stationary and tracking scenarios  Moreover, it has fewer free parameters than previous approaches and these parameters have a clear physical meaning  Finally, as stated in the introduction, one of the advantages of having a probabilistic model is that it is easily extensible:}

\begin{itemize}
\item If, instead of using an isotropic Gaussian distribution in the approximation, we used a Gaussian with diagonal covariance matrix, we would obtain a similar algorithm with different step sizes and measures of uncertainty, for each component of ${\bf w}_k$  Although this model can be more descriptive, it needs more parameters to be tuned, and the parallelism with LMS vanishes 
\item Similarly, if we substitute the transition model of \eqref{eq:trans_eq} by an Ornstein-Uhlenbeck process, 

\begin{equation}
p({\bf w}_k|{\bf w}_{k-1})= \mathcal{N}({\bf w}_k;\lambda {\bf w}_{k-1}, \sigma_d^2), \nonumber
\label{eq:trans_eq_lambda}
\end{equation}
a similar algorithm is obtained but with a forgetting factor $\lambda$ multiplying ${\bf w}_{k-1}^{(LMS)}$ in \eqref{eq:lms}  This algorithm may have improved performance under such a kind of autoregresive dynamics of ${\bf w}_{k}$, though, again, the connection with standard LMS becomes dimmer 

\item As in \cite{park2014probabilistic}, the measurement model \eqref{eq:mess_eq} can be changed to obtain similar adaptive algorithms for classification, ordinal regression, and Dirichlet regression for compositional data  

\item A similar approximation technique could be applied to more complex dynamical models, i e  switching dynamical models \cite{barber2010graphical}  The derivation of efficient adaptive algorithms that explicitly take into account a switch in the dynamics of the parameters of interest is a non-trivial and open problem, though the proposed approach could be useful 

\item Finally, like standard LMS, this algorithm can be kernelized for its application in estimation under non-linear scenarios 

\end{itemize}


\begin{appendices}

\section{KL divergence between a general gaussian distribution and an isotropic gaussian}
\label{sec:kl}

 We want to approximate  $p_{{\bf x}_1}(x) = \mathcal{N}({\bf x}; \boldsymbol\mu_1,\boldsymbol\Sigma_1)$ by $p_{{\bf x}_2}({\bf x}) = \mathcal{N}({\bf x}; \boldsymbol\mu_2,\sigma_2^2 {\bf I})$  In order to do so, we have to compute the parameters of $p_{{\bf x}_2}({\bf x})$, $\boldsymbol\mu_2$ and $\sigma_2^2$, that minimize the following Kullback-Leibler divergence,

\begin{eqnarray}
D_{KL}(p_{{\bf x}_1}\| p_{{\bf x}_2}) &=&\int_{-\infty}^{\infty} p_{{\bf x}_1}({\bf x}) \ln{\frac{p_{{\bf x}_1}({\bf x})}{p_{{\bf x}_2}({\bf x})}}d{\bf x} \nonumber  \\
&= &  \frac{1}{2} \{ -M + {\sf Tr}(\sigma_2^{-2} {\bf I}\cdot \boldsymbol\Sigma_1^{-1})  \nonumber \\
  & &  + (\boldsymbol\mu_2 - \boldsymbol\mu_1 )^T \sigma^{-2}_2{\bf I} (\boldsymbol\mu_2 - \boldsymbol\mu_1 )  \nonumber \\
 & &   +  \ln \frac{{\sigma_2^2}^M}{\det\boldsymbol\Sigma_1} \}   
\label{eq:divergence}
\end{eqnarray}
Using symmetry arguments, we obtain 
\begin{equation}
\boldsymbol\mu_2^{*} =\arg \displaystyle{  \min_{\boldsymbol\mu_2}} \{ D_{KL}(p_{{\bf x}_1}\| p_{{\bf x}_2}) \} = \boldsymbol\mu_1 
\end{equation}
Then, \eqref{eq:divergence} gets simplified into 

\begin{eqnarray}
D_{KL}(p_{{\bf x}_1}\| p_{{\bf x}_2}) = \frac{1}{2}\lbrace { -M + {\sf Tr}(\frac{\boldsymbol\Sigma_1}{\sigma_2^{2}}) + \ln \frac{\sigma_2^{2M}}{\det\boldsymbol\Sigma_1}}\rbrace 
\end{eqnarray}
The variance $\sigma_2^2$ is computed in order to minimize this Kullback-Leibler divergence as

\begin{eqnarray}
\sigma_2^{2*} &=& \arg\min_{\sigma_2^2} D_{KL}(P_{x_1}\| P_{x_2}) \nonumber \\
 &=& \arg\min_{\sigma_2^2}\{ \sigma_2^{-2}{\sf Tr}\{\boldsymbol\Sigma_1\} + M\ln \sigma_2^{2} \}  
\end{eqnarray}
Deriving and making it equal zero leads to

\begin{equation}
\frac{\partial}{\partial \sigma_2^2} \left[ \frac{{\sf Tr}\{\boldsymbol\Sigma_1\}}{\sigma_2^{2}} + M \ln \sigma_2^{2} \right] = \left  {\frac{M}{\sigma_2^{2}}-\frac{{\sf Tr}\{\boldsymbol\Sigma_1\}}{(\sigma_2^{2})^2}}\right|_{\sigma_2^{2}=\sigma_2^{2*}}\left  =0 \right   
\nonumber
\end{equation}
Finally, since the divergence has a single extremum in $R_+$,
\begin{equation}
\sigma_2^{2*} = \frac{{\sf Tr}\{\boldsymbol\Sigma_1\}}{M} 
\end{equation}




\end{appendices}

\vfill
\clearpage

\bibliographystyle{IEEEbib}

Context 2: 'Quectel_QuecPython_BC25 开发板使用说明 版本：Quectel_QuecPython_BC25 开发板使用说明_V1 1日期：2021-11-30 状态：临时文件
Quectel_QuecPython_BC25 开发板使用说明一、基本概述BC25_QuecPython_EVB_V1 1 开发板（本文简称“V1 1 开发板”）是专门针对 BC25 制造，是一款小巧便携的“口袋型”开发板。体型虽小，但是功能丰富，拥 有 SIM 卡座、板载天线、磁开关、LED 等元件。开发者仅需一条 USB Type-C 数据线即可轻松玩转开发板。二、开发板资源Quectel 移远 BC25 通信模组NANO SIM 自弹卡座USB Type-C 数据接口开机按键，唤醒按键磁开关单色灯GPIO 排针上海市闵行区田林路 1016 号科技绿洲 3 期（B 区）5 号楼 200233 邮箱: info@quectel com 网址: www quectel com 1 / 6
三、开发板介绍Quectel_QuecPython_BC25 开发板使用说明开发板是为方便开发者使用 QuecPython，而设计的一款基于 BC25 通信模块 的开发板，其上集成了开发常用的配置，可以满足开发者的开发需求。V1 1 开发板正面接口V1 1 开发板配置开发板配备了多种外设。明细如下：序 号名称型号是否支持接口类 型1磁开关KTH1601SL-ST3是GPIO2LED 灯S3528UG6W9TLC2G- 是GPIOTJ- 34微动按键GPIOA5--------是是---------上海市闵行区田林路 1016 号科技绿洲 3 期（B 区）5 号楼 200233 邮箱: info@quectel com 网址: www quectel com 2 / 6
Quectel_QuecPython_BC25 开发板使用说明四、功能详解4 1 磁开关开发板集成了一个磁开关。使用磁铁靠近，可使磁开关输出引脚变为低电平， 默认为高电平。4 2 LED 灯开发板集成了一颗高亮度灯珠，可以用来做显著指示灯。上海市闵行区田林路 1016 号科技绿洲 3 期（B 区）5 号楼 200233 邮箱: info@quectel com 网址: www quectel com 3 / 6
4 3 按键开发板集成了 2 个微动按键，其功能是 S1 为开机键，S2 为睡眠唤醒按键。Quectel_QuecPython_BC25 开发板使用说明五、调试步骤1 拿到开发板 V1 1 先插上 USB 安装串口驱动，在官方 QQ 群文件搜 CP210 或者自 行百度下载 CP210x 的串口芯片驱动进行安装。2 使用串口工具（例如 QCOM_V1 6）连接 BC25 的主串口（硬件 17、18 脚）。V1 1 选择 Enhanced COM 口，波特率选择 9600,打开串口，按下 PWK 键约一秒松开进 行开机，串口工具收到消息则代表开机成 功，然后按下 EINT 键串口显示 +QATWAKEUP 表示模组唤醒了。3 从 https://python quectel com/download 下载 BC25QuecPython 版本固件， 使用 Qflash（群文件下载）选择 BC25 的调试串口（硬件 38、39 脚），波特率选 择 921600，选择 lod 后缀的固件，按下 EINT 键串口工具显示模组已经唤醒串口 工具发 AT+QSCLK=0 可关闭睡眠（不会发 AT 则多按几次 EINT 键），点击 Start 开 始下载固件,下载进度条开始下载，等待下载完成。关闭以上所有工具，并给板 子断电重新上电。4 从 https://python quectel com/download 下载 QPYCOM 工具，直接解压运行 工具，选择主串口（同第 2 步），选择 57600 波特率，打开串口。再按 PWK 按键 进行开机，会看到 QPYCOM 有打印 mount Type "help()" for more information 然后就可以进行 QuecPython 的交互调 试了。上海市闵行区田林路 1016 号科技绿洲 3 期（B 区）5 号楼 200233 邮箱: info@quectel com 网址: www quectel com 4 / 6
六、常见问题解决Quectel_QuecPython_BC25 开发板使用说明Q：模块的固件在哪？A：请登录 QuecPython 网站下载：http://python quectel com/downloadQ：哪里有开发板和其他常用资料？A：请登录 QuecPython 网站下载：http://python quectel com/downloadP S  如果您遇到任何问题，请参照本官网在线文档进行解决或访问 QuecPython 社区进行搜索、交流、提问：QuecPython 社区或者联系我们的在线支持：QQ 群 445121768获取 QuecPython 开发固件及加入官方交流群官网主页：https://python quectel com官网文件下载（各类资料、工具）：https://python quectel com/download官网 wiki（常用于视频教程、手把手教程下载、API 库）：https://python quectel com/wiki/#/官网文档中心(拥有从入门到精通的各种文档介绍、必看)：https://python quectel com/doc/工单系统：https://workorder quectel com/QuecPython 社区：https://forumschinese quectel com/c/function-subjects/quectpython/43QuecPython 官方 QQ 开发交流群：445121768微信公众号：QuecPython移远 OTA 升级平台： https://cloudota quectel com/移远 IoT 管理平台：https://python quectel com/doc/doc/Advanced_development/zh/QuecPython Cloud/QuecCloud html上海市闵行区田林路 1016 号科技绿洲 3 期（B 区）5 号楼 200233 邮箱: info@quectel com 网址: www quectel com 5 / 6
附录 1 V1



ground_truth: This research paper proposed an approach based on approximating the posterior distribution with an isotropic Gaussian distribution.

prompt_front: Now, answer the following question based on the text below, only give me the answer and do not output any other words.

Question: Where can users go for troubleshooting and support?

Read the following text and answer briefly.

Context 2: 1 开发板丝印图Quectel_QuecPython_BC25 开发板使用说明附录 2 V1 1 开发板原理图上海市闵行区田林路 1016 号科技绿洲 3 期（B 区）5 号楼 200233 邮箱: info@quectel com 网址: www quectel com 6 / 6
PIU101 PIU102 PIU103 PIU104 PIU105 PIU106 PIU107 PIU108 COR9 PIR902 PIR901 PIU109 PIU1010 PIU1011 PIU1012 PIU1013 PIU1044 PIU1043 PIU1042 PIU1041 PIU1040 PIU1039 PIU1038 PIU1037 PIU1036 COU1A PIU1014 PIU1015 PIU1016 PIU1017 PIU1018 PIU1019 PIU1020 PIU1021 PIU1022 PIU1035 PIU1034 PIU1033 PIU1032 PIU1031 PIU1030 PIU1029 PIU1028 PIU1027 PIU1026 PIU1025 PIU1024 PIU1023 COJ1 PIJ101 COC1 PIC101 PIC102 COC2 PIC201 PIC202 PIC602 COC6 PIC601 COR22 PIR2201 PIR2301 COR23 COR24 PIR2401 PIR2501 COR25 COR14 PIR1401 PIR1601 COR16 PIR2202 PIR2302 PIR2402 PIR2502 PIR1402 PIR1602 COC14 PIC1402 PIC1401 COR33 PIR3301 PIR3302 COU2 PIU201 PIU202 PIU203 PIR3002 COR30 COD6 PIR3001 PID601 PID602 COR31 PIR3102 PIR3101 PIQ201 PIQ203 COQ2 COR32 PIQ202 PIR3201 PIR3202 COR1 COD1 PIR102 PIR101 PID101 PID102 PIQ103 COQ1 PIQ102 COR13 PIR1302 PIR1301 PIQ101 PIR1501 COR15 PIR1502 PIR302 COR3 PIR301 PIR402 COR4 PIR401 PIU1045 PIU1046 PIU1047 PIU1048 PIU1049 PIU1050 PIU1051 PIU1052 PIU1053 COR19 PIR1902 PIR1901 COR20 PIR2002 PIR2001 PIU1072 PIU1071 PIU1070 PIU1069 PIU1068 COU1B PIU1054 PIU1055 PIU1056 PIU1057 PIU1058 PIU1067 PIU1066 PIU1065 PIU1064 PIU1063 PIU1062 PIU1061 PIU1060 PIU1059 PIU1073 PIU1074 PIU1075 PIU1076 PIU1077 PIU1078 PIU1079 PIU1080 COU1C PIU1088 PIU1087 PIU1086 PIU1085 PIU1084 PIU1083 PIU1082 PIU1081 PIU1089 PIU1090 PIU1091 COU1D PIU1094 PIU1093 PIU1092 COM2 COM1 1122334455667788DDCCBBAATitleNumberRevisionSizeA3Date:2021/11/1Sheet ofFile:E:\\\\  \\1 BC25 SchDocDrawn By:1J1ADCR44 7KR34 7KADC_INGNDQUECTEL_LOGOQuecPythonGNDC1100uF 6 3VGNDAUX_TXD_1V8AUX_RXD_1V8GNDUSIM1_VDDRESETNETLIGHTM_RXD_1V8M_TXD_1V8PIN19PIN20VDD_EXTPIN23PIN22PIN21R234 7KR224 7KVDD_EXTR254 7KR244 7KPIN20PIN21PIN23PIN22PIN25PIN30PIN31PIN32PIN33GNDR14 7K312Q1D1蓝 LEDNETR130RR15NCNETLIGHTC61uFGNDGND1RESERVED2MIC_P3MIC_N4SPK_P5SPK_N6PWRKEY7RESERVED8RESERVED9GND10USIM_DATA11USIM_RST12USIM_CLK13USIM_VDD14RESET_N15NET_STATUS16MAIN_RXD17MAIN_TXD18MAIN_DTR19MAIN_RI20MAIN_DCD21MAIN_CTS22MAIN_RTS23VDD_EXT24STATUS25RESERVED26GND27AUX_RXD28AUX_TXD29PCM_CLK30PCM_SYNC31PCM_DIN32PCM_DOUT33GND34ANT_MAIN35GND36GND37DBG_RXD38DBG_TXD39GND40GND41VBAT42VBAT43RESERVED44U1ABC25/EC800NGND45GND46GND47GND48RESERVED49RESERVED50RESERVED51RESERVED52RESERVED53RESERVED54RESERVED55RESERVED56RESERVED57RESERVED58USB_DP59USB_DM60USB_VBUS61RESERVED62RESERVED63RESERVED64RESERVED65I2C_SDA66I2C_SCL67RESERVED68RESERVED69GND70GND71GND72U1BEC800NGND73RESERVED74RESERVED75RESERVED76RESERVED77RESERVED78USIM_DET79RESERVED80RESERVED81USB_BOOT82RESERVED83RESERVED84RESERVED85RESERVED86RESERVED87GND88U1CEC800NGND89GND90GND91GND92GND93GND94U1DEC800NGNDGNDUSIM_DETUSB_BOOTGNDVBUSDM_EC800NDP_EC800NGNDGNDPIN3POWRKEYUSIM1_CLKUSIM1_RSTUSIM1_DATAGNDGNDD_RXD_1V8D_TXD_1V8C2100uF 6 3V+3 8VR90RADCI2C_SCL_EC800NI2C_SDA_EC800NR164 7KR144 7KI2C_SDA_EC800NI2C_SCL_EC800N+3 8VPIN4PIN5PIN6R190RR200RDM_EC800NDP_EC800NUSB_DMUSB_DP+3 8VGNDR304 7K312Q2D6翠绿灯珠NETR310RR32NCPIN30+3 8VGND3OUTPUT2VCC1U2KTH1601SL-ST3VCC_1V8C141uFGNDGNDR3310KVCC_1V8PIN31磁性开关灯珠EC800N焊接R19、R20电源部分请参考官方设计BC25不焊接
COC9 PIC902 PIC901 COU3 PIU301 PIU302 PIU303 PIU306 PIU305 PIU304 COR7 PIR702 PIR701 COL1 PIL101 PIL102 PIC701 PIC702 COC7 COD2 PID202 PID201 COC10 PIC1001 PIC1002 PIC1201 PIC1202 COC12 COR8 PIR802 PIR801 PID501 PID502 COD5 COU6 PIU601 PIU602 PIU603 PIU605 PIU604 PIC1102 COC11 PIC1101 PIC802 COC8 PIC801 COR21 PIR2101 PIR2102 COUSBC1 PIUSBC100 PIUSBC10A12 PIUSBC10A9 PIUSBC10A8 PIUSBC10A7 PIUSBC10A6 PIUSBC10A5 PIUSBC10A4 PIUSBC10A1 PIUSBC10B1 PIUSBC10B4 PIUSBC10B5 PIUSBC10B6 PIUSBC10B7 PIUSBC10B8 PIUSBC10B9 PIUSBC10B12 COR10 PIR1002 PIR1001 COR11 PIC1301 PIC1302 COC13 PIR1101 PIR1102 COD4 PID401 PID402 COD3 PID301 PID302 COD7 PID701 PID702 11223344DDCCBBAATitleNumberRevisionSizeA4Date:2021/11/1Sheet ofFile:E:\\\\  \\2 POWER SchDocDrawn By:type-CDCDCGNDGNDB1VBUSB4CC2B5DP2B6DN2B7SBU2B8VBUSB9GNDB1200000000GNDA1VBUSA4CC1A5DP1A6DN1A7SBU1A8VBUSA9GNDA12USBC1USB3 1C16PFSMTGNDGNDUSB_DMUSB_DMUSB_DPUSB_DPVBUSVBUSVBUSVBUSD3ESD9L5 0ST5GD4ESD9L5 0ST5GD2SMBJ6 5CAGND1SW2VIN3VFB4EN5VBST6U3TPS563201DDCRGND2 2uHL1WPN4020H2R2MTC90 1uFR710KC120 1uFGNDGND+5V+3 8V+5VR1110KR1040 2KC130 1uFGND+3 8VD54 7KR8GND+3 8VC722uF 10VC1022uF 10VVCC_1V8C84 7uFR2110KVIN1GND2EN3NC4VOUT5U6ME6212C18M5GGNDGNDC114 7uFGND+5VD7SS34VBUS+5V
COC3 PIC301 PIC302 COCARD1 PICARD10C1 PICARD10C2 PICARD10C3 PICARD108 PICARD109 PICARD1010 PICARD1011 PICARD10C5 PICARD10C6 PICARD10C7 PICARD10CD PIR1202 COR12 PIR1201 PIU501 PIU503 PIU504 PIU505 PIU506 COU5 PIU502 11223344DDCCBBAATitleNumberRevisionSizeA4Date:2021/11/1Sheet ofFile:E:\\\\  \\4 SIM-CARD SchDocDrawn By:123456U5USIM1_VDDUSIM1_RSTUSIM1_CLKUSIM1_DATAGND10KR12USIMGNDVCCC1RSTC2CLKC3I/OC7VPPC6GNDC5CDCDEP8EP9EP10EP11CARD1SMN-303GNDC30 1uFUSIM_DET
COJ5 PIJ501 PIJ502 PIJ503 PIJ504 PIJ505 PIJ506 PIJ507 PIJ508 PIJ509 PIJ5010 PIJ5011 PIJ5012 PIJ5013 PIJ5014 PIJ5015 COJ6 PIJ601 PIJ602 PIJ603 PIJ604 PIJ605 PIJ606 PIJ607 PIJ608 PIJ609 PIJ6010 PIJ6011 PIJ6012 PIJ6013 PIJ6014 PIJ6015 COU4 PIU409 PIR501 PIR502 COR5 COS1 PIS101 PIS102 COR17 COS2 PIR1702 PIR1701 PIS201 PIS202 COR18 PIR1802 PIR1801 COR2 PIR201 PIR202 PIC402 COC4 PIC401 PIC502 COC5 PIC501 PIR602 COR6 PIU405 PIR601 PIU406 PIC1702 PIC1701 COC17 PIU407 PIU402 PIU408 PIU403 PIU404 PIU401 PIU4024 PIU4023 PIU4022 PIU4021 PIU4020 PIU4019 PIU4018 PIU4017 PIU4016 PIU4015 PIU4014 PIU4013 PIU4012 PIU4011 PIU4010 PIU400 COR26 COR27 PIR2602 PIR2702 PIR2601 PIR2701 COR28 COR29 PIR2802 PIR2902 PIR2801 PIR2901 11223344DDCCBBAATitleNumberRevisionSizeA4Date:2021/11/1Sheet ofFile:E:\\\\  \\6 GPIO+UART SchDocDrawn By:GPIOAUX_RXD_1V8AUX_TXD_1V8GNDD_TXD_1V8D_RXD_1V8S1S2GNDVDD_EXTPOWRKEYPIN19VBUSRI_SCI1GND2D+3D-4VIO5VDD6REGIN7VBUS8-RST9CTS_ECI10RTS_ECI11RXD_ECI12TXD_ECI13GPIO 1_ECI14GPIO 0_ECI15NC16RI_ECI17CTS_SCI18RTS_SCI19RXD_SCI20TXD_SCI21GPIO 2_SCI22GPIO 1_SCI23GPIO 0_SCI24GND0U4CP2105GND1uFC17R5NC1uFC4C50 1uFGNDGNDR6NCR20RADC_INM_TXD_1V8M_RXD_1V8PIN19PIN25PIN33PIN30PIN31PIN32USB_DMUSB_DPM_RXD_1V8M_TXD_1V8R260RR270RR280RR290RD_RXD_1V8D_TXD_1V8PIN3PIN4PIN5PIN6PIN20PIN21PIN22PIN23123456789101112131415J5Header 15123456789101112131415J6Header 15R170RR180RUSB_BOOTI2C_SCL_EC800NI2C_SDA_EC800N+3 8VRESETGNDVCC_1V8VCC_1V8+5VEC800N不焊接CP2105
'
Context 3: Probably one of the most frustrating things about building experimental aircraft, especially when starting with a minimum of pre-fabricated parts, is to start building and ending up with an unexpected result  Every builder starts a new project by wanting it to go "perfectly " So when things aren't going well, especially at the beginning, the frustration can lead to an unfinished airplane 
This is the first article in a series dedicated to helping builders of the Rand Robinson KR series planes build a straight and true fuselage -- the first part of the construction process  Borrowing from modern boatbuliding techniques, focus will be on the KR-2S, but the principles apply to the entire lineup of KR-1 & KR-2 series planes 
While building the KR-2(s) a common surprise is encountered by builders when the completed fuselage sides are laid into position to form the fuselage box section  With many hours spent building the sides flat, finding the once straight longerons that now bow up from the building surface, form a most dissatisfying "banana" shape  Especially when using the preformed fiberglass parts, this curve in the top longeron is not acceptable  The builder is left wondering what went wrong and no amount of clamping or brute force forming will solve the problem to any degree of satisfaction  The problem is not the builder's fault  The solution starts by understanding the three dimensional relationship of the assembled parts being built 
First understand that the plans show the finished form of the plane  They show the "projected" form as you would expect to see it if viewing an actual plane from the top, ends and from the side  Since the sides are sloped (flared) outward, looking from the side, the distances given by measuring the profile drawing are "foreshortened" and don't give the proper shape for building the fuselage with a flat top longeron  What needs to be done is to "develop" the "true" distances and shape of the flat panel so that when it is curved into position, the longerons lay flat 
Second, understand that the dimensions called for in the plans put a twist in the sides that tends to work the panel in two directions of curvature  This twist makes the panel "undevelopable" meaning that that shape cannot be unrolled into an equivalent flat shape  This is important when laying out the side and bottom panels onto flat plywood  To illustrate this, try forming a piece of paper around a soda can  The paper can be formed flat around the can either straight or at a diagonal to it's length  It has only one direction of curvature and is by definition "developable"  Now try to form the same piece of paper around a baseball  It won't lie flat on the surface without some deformation (folding, wrinkling or tearing) of the paper  The ball has curvature in more that one direction and is a "compounded" shape  Paper (or plywood) can only be readily formed in developable shapes as opposed to aluminum or other metal which can accept in plane deformation  A developable surface is needed to lay out a curved surface when the materials used can't be deformed with any degree of in-plane strain 
Initially, the fuselage sides are laid out flat with reference to the top longeron measured to a straight chalk line  The bowing problem starts when the side panels are bent and sloped to form the fuselage box section  If the sides were not sloped (tumbled home), the section formed would be cylindrical and the longerons would lie flat  Since the sides are tumbled home, the section formed is now conical  When a conical shape is cut with a plane (building surface) not perpendicular to it's axis, the shape formed is elliptical -- exactly what happens with the top longeron  When it's built flat, bent to form a cylindrical section, and sloped to form a conical section, it takes on an elliptical shape firewall to tailstock 
This method borrows heavily from proven techniques used in the marine trades  It should be stressed at this point that although the layout procedure is not complicated, it is important to take your time  If the layout is not going well initially, start over! Better to erase layout errors now than to have them built it and cause surprises later 
Layout to ensure a fair and true fuselage starts by drawing a reference line (baseline) on the building surface  Refer to figures 2 & 3 and use a wire guide to draw a very straight baseline  About 500 lbs  Of tension should be adequate  One could use a chalk line, but we're talking airplanes here, not house framing 
The main layout difference is that the baseline isn't used as a reference for the top longeron  The baseline references the mid point of the firewall for the developed (and true dimensioned) side panel  Although the baseline will still be the reference, the top and bottom longerons will be laid separately 
Layout differences don't end there  Each of the stations (vertical members) will be laid out with a calculated separation so that when the panels are formed into position, they land on the spacing called for in the plans  Another major difference is that the bottom & side panels are applied after forming the fuselage box section  This is mainly to obtain the ability to "fair" the side and bottom surfaces and insure a straight and true shape 
Refer to figure 1 for the layout of the new developed side panel  The firewall (station a) is layed out perpendicular to the baseline  Longitudinal (station) measurements are given along the length of the baseline from the firewall  Vertical dimensions are given to reference the angle and breadths of the station at the baseline 
Notice that the top longeron is bowed outward and that the stations are spaced slightly greater than called out in the plans  When the panels are formed into the box frame section ,they will work into the dimensions specified in the plans 
Strike a centerline, longer than is needed on the building surface using a wire guide  Draw off the firewall line perpendicular to the centerline at one end 
Using the distances listed in the balloons, mark them off on the centerline  Distances are measured to the nearest sixteenth of an inch  Take time to mark them off carefully  Don't mark off the distances in a cumulative fashion  Use the firewall as a common reference 
Using the angles listed at each station, mark off a station line longer than is needed  The angles are measured to the nearest hundredth of a degree  Take time to mark them off carefully 
At each station, start by marking off each short (bottom longeron) line distance from the centerline  Use your set of trammels or beam compass for doing this  Mark the intersection of the short line with the station line 
At each station, mark off each long (top longeron) line distance from the intersection of the short line distance and the station line  Again the trammels or beam compass is best for completing this step  Mark the intersection of the long line distance with the station line 
Using the longeron as a batten, trace out the inside and outside curves of the longeron  After the batten is secure, in between each station, fasten a keeper block inside and outside to preserve the shape of the longeron taking care to avoid potential future interference with the diagonal members to be installed later  The fairing blocks can be removed or left in place if they won't interfere with building  The vertical station members and their diagonals can now be measured and positioned  Remember to refer to the plans for the material thickness direction 
After vertical and diagonal members are cut and fitted, take time to draw their outlines on the building surface to cut down on time and confusion when laying out the opposite side 
Finishing the side panel is accomplished in a manner similar to that called for in the handbook with the exception that the side and bottom skin panels will be attached later 
The next article in the series will discuss jigging and building techniques to ensure alignment and straightness of the flat built side panels  Also covered will be building a "strongback" jig to assure alignment of the side panels when they are formed into their final shape 
Part 3 in the series will cover assembly of the side panels using the jigs  Some joint details will be discussed that will ensure a stronger and more fair fuselage assembly  Also covered will be the layout & attachment of the side and bottom ply skins 
U S  Mail: Densmore Associates, inc 
ANSI "D" size, computer generated plots of all the layout drawings in this series are available from the author for $30 plus postage & handling  Full (true size) scale plots may be made available depending on demand 
"Scarfing" is the practice of splicing plywood so that short pieces of plywood can be used to span long distances  On the KR, it is required on both the fuselage skins and spar webs  The angle of the splice should be 10 to 12 degrees to maintain strength across the joint  Also, joints should coincide with structural members, such as spar webs or fuselage truss members 
This scarfer is made by mating a regular plunge router (this one costs about $50) to a table saw  Obviously, you really only need a table saw to cut the chamfer, but it does make a nice heavy table for scarfing  You could just as easily use a large work table as the base First, set the table saw for a 5 5 degree cut (for a 1:12 joint, or 6 5 degree cut for a 10:1 joint), and run a 1 x 6 through on edge to chamfer a corner on the board  Then drill the board for three router mounting holes (two are countersunk) and connect the assembly to the table saw with two 1/4 inch bolts  Use a long (2-3 inch) straight cutting bit to do the cutting  Adjust the bit so it doesn't interfere with your table top, and go to town  Keep pressure on the plywood to ensure contact with the table while you're scarfing  Make sure you feed your material from the same end as you would if you were sawing, or the router will take your plywood away from you and put a big dent in your garage door 
In the late 60's Ken Rand and Stuart Robinson were working as flight system engineers for Douglas Avionics  Ken was working as an electrical engineer, having previously worked for Sperry as an autopilots project engineer, while Stu's degree was in aeronautical engineering from Northrop University  They were two of the guys at the end of the DC-8,9, and 10 assembly lines responsible for correcting some of the nits and picks in various systems before delivery to the customer 
They both wanted to build a fast, inexpensive airplane which was also economical to maintain  Several designs were considered, and plans were bought first for the Jeanie's Teenie and then the Taylor Monoplane  The Monoplane was more to their liking, but would require some modification to fit their needs  A cooperative redesign effort ensued, with virtually no dimensions left untouched  Only the basic fuselage structure, airfoil, and powerplant were retained  The tail shape was Stu's, and came directly from the big DC-8s parked on the ramp outside his office window  The landing gear was designed by Ken, after seeing the gear on a Dewey Bird at Santa Paula airport 
Ken was killed in his KR2 a short time later while flying over Cajon Pass in what was apparently a bad weather / low fuel accident  Ken's wife Jeanette became owner of RR overnight, and stepped up to keep the plans and parts coming  Much of the engineering needs are handled by Bill Marcy of Denver, who's been helping out since early '79 
To date, almost 6000 KR1, 9200 KR2, and 760 KR2S plan sets have been sold  1200 KR2s are estimated to be flying, with 5 KR2Ss now in the air  Much of the development work done on KR's is now done by the builders themselves  KR builders tend to be innovative, which leads to some interesting modifications  Some of the mods that work eventually creep into the plans  The KR2S is a case in point  Many builders who'd heard of the pitch sensitivity and tight cabin of the KR2 began to build an enlarged version, with the length determined by the most commonly available longeron material  The result is a KR2 that is stretched 2" between firewall and main spar, and 14" behind the main spar  Higher gross weights dictated more wing area, with the new standard becoming the Diehl wing skin  Those who plan to carry passengers commonly stretch the cabin width a few inches, although 1 5 inches is the limit if you still want to use RR's premolded parts 
Mike Stearns addresses the KR Forum crowd 
This year's KR Forum featured guest speakers Mike Stearns, Steve Trentman, and Bill Marcey  Mike Stearns spoke on several topics, including the many sources for KR and homebuilding information available on the Internet  He also mentioned KRNet, the list server devoted entirely to KR aircraft, as well as several notable World Wide Web home pages  He also brought a sample of the new Rand Robinson wing skins with him, and discussed their high temperature core prepreg construction  His KR2S will receive the first set, which is currently being installed at Hinson Composites 
Steve Trentman spoke on his turbine installation  It uses a turbine engine which saw duty as an A7 attack jet starter engine  Total weight is about 85 pounds, while putting out around 90 horsepower  There is a small stockpile of these engines available from government surplus  sources  This engine can only be throttled back to 52% power, which leads to some pretty interesting landings  One inflight failure has been logged so far, with very little damage to the aircraft  More on this exciting development in next month's issue of KROnline 
Les Palmer's KR2 N202LP won Best KR2, Best Engine Installation, and People's Choice awards at the 1995 KR Gathering at Columbia, TN  After researching the KR series, and reading Neil Bingham's "A Critical Analysis of the KR2" (Jan 88 Sport Aviation), Les decided to build his as a single seater, stretched 24" in the tail, while maintaining a stock width firewall  His fuselage is made from Douglas fir, which weighs in at 4 lbs heavier than if constructed from spruce  It is skinned with 1/8" birch plywood  Spars are covered with plywoood on both fore and aft sides, ala KR2S  Diehl wing skins provide the lift  Horizontal stabilizer and elevator were stretched 7" longer on each side, while the vertical stabilizer and rudder were stretched 8" taller    The fuselage to cowling junction was made more graceful by adding 1 5 inches to the height of the firewall end of the fuselage sides 
Les's canopy is a Dragonfly, using a four linkage system to swing forward when opening  The canopy frame fits snugly into a recess in the foward deck, providing an excellent wind and water seal  The fiberglass work is exemplary 
Seating is luxurious for one 
The cowling is also a work of art, and uses NACA ducts for efficiency  Female molds were made for all the fiberglass parts on Les's plane, so he could proabably be persuaded to make more, if demand dictates  Les also machines a multitude of KR aluminum and steel parts which he now offers for sale 
The firewall was reinforced with aluminum brackets and angles bolted between the longerons in anticipation of the 200 lb Subaru EA-81 engine installation  His 100 HP Asian version is outfitted with an American Holley 5200 caburetor and manifold  It uses a PSRU of Les's own design, featuring two spur gears with a 1 69:1 reduction ratio and a toothed belt  Other than tapping the crank for larger bolts to mount the redrive, no other engine modifications were required  Also, this is probably the only air conditioned KR2 on the planet  The prop is a 60/63 Hegy 
Originally built as a taildragger, the fixed gear is made from 4130 steel tubing  Custom cast 6 00x6 aluminum wheels and steel rotors are mated with 6" Cleveland calipers for braking  An early taxi test accident damaged the main gear, and prompted Les to change to tricycle gear  Again, he designed his own fiberglass main gear, and uses a Diehl nose wheel fork with a 4130 strut and 6" wheel up front



ground_truth: Online documentation, QuecPython community, online support: QQ group 445121768.

prompt_front: Now, answer the following question based on the text below, only give me the answer and do not output any other words.

Question: What is the purpose of the baseline in the layout procedure?

Read the following text and answer briefly.

Context 3: 
Early tests revealed cooling problems, which prompted a radiator move from the firewall to a lower cowling location 
The first flight was almost a disaster, as test pilot Randy Smith lost power right after takeoff  He managed a 180 with a safe downwind landing with only minor nosewheel pant damage  The culprit proved to be a spark plug with too much reach, which was quickly remedied  Subsequent flights have shown water temp to be about 210 degrees, oil temp is 220-230, and airspeed is about 180 mph 
Shopping for the Partially Built KR 
This story starts about twenty years ago when I first started looking at the KR-2 as the plane I'd like to build  The only problem at that time was a lack of money, lack of knowledge, and a lack of job stability  I liked the design, except for the low ground clearance of the retractable gear and that a KR was going to be a tight fit for me to fly 
Over the past twenty years I've owned a number of planes, but still always wanted to build my own  I needed one that would fit me, my budget requirements, and have the speed and performance that I wanted  When "KITPLANES" published the article featuring Roy Marsh's new KR-2S, it was the first I had heard of any major modifications or improvements to the same old KR design  I believe that article and Roy Marsh's workmanship have probably been the greatest boon to Rand Robinson (RR) in the last twenty years  It certainly caught my eye! Here was the same design I had decided I wanted to build twenty years ago, with all of the improvements I wanted  It was sitting on fixed gear with some reasonable ground clearance  It had the capability to be built large enough to accommodate me  It has enough prefab parts available that it didn't have to be 100% scratch built if I decided to hurry the project along  And it had the speed I wanted  I knew that Roy's published speeds were probably not realistic expectations for the average KR, but after knocking around for the last three years in my Champ, anything over 90 mph seems pretty fast to me 
After purchasing the info kit and the sales video from Rand Robinson, the next step after deciding for sure to build this plane was to order the KR-2 plans and the KR-2S addendum  I finally got my plans and was putting together my first order to start the plane, when my partner in the Champ pointed out that there was a partially completed KR-2S for sale in Trade-a-plane  My initial answer was "No, I don't even want to look at it  I want to build my own from scratch " My partner insisted that for the advertised price and the fact that it wasn't too far away, I ought to at least give the guy a call and investigate it  "No, I don't think I want to buy someone else's problems," I persisted  That night I went home and crunched up some numbers on the calculator and finally came to the conclusion that for the sake of my budget for the next several years, I really should give this guy a call 
Three days later, I flew to his place about 400 miles away to take a look at his project  At this point I should probably mention that I consider myself to be fairly knowledgeable about airplane construction, although the vast majority of my experience is with tube and fabric  The rest of this article deals with what I looked for and more importantly what I missed and have had to repair in the last year since I purchased the project 
When we went to the seller's house, I found that the left wing was built using the Dan Diehl wing skins and the right wing skins were leaning against the wall inside the house  Also the canopy was in the house with the canopy covered with paper and tape  I wanted to inspect the fuselage first, so off we went to the shop 
There I found a fuselage sitting on it's gear painted in primer gray  The first step was to inspect the quality of workmanship of what could be seen as it sat  The interior of the fuselage looked as if it had been built with a great deal of care  The fit and finish of all of the interior wood was very nice  Even the gussets looked like they had been painstakingly perfectly fitted  The glass work on the turtle back also looked very precise and clean  It was evenly faired into the vertical and horizontal stabs  The tail also appeared to be well built with the exception of a depression directly over the front and rear spars in the horizontal stabs  He explained that when he moved recently, that he had shot the plane with gray primer to protect it from the weather since he wouldn't have ready access to a shop to put it in right away  It ended up sitting out in the hot south Texas summer sun for a few weeks before he got a shop rented to work in  That caused the glass (or possibly the foam inside the horizontal stab) to swell, except that it held onto the spar, so it was slightly ballooned in front of and behind the spars  His recommendation was to fill it back smooth with micro 
I also found a small linear crack in the lower left wing spar cap on the left wing stub  It appeared to be from over tightening the rear spar wing attach fitting bolts  His explanation was that the crack wasn't important because the rear spars only job is to keep the wings from folding back  I also noticed that the holes for attaching the outer wing to the wing stub were badly rounded out on the rear spar  He explained that the Diehl wing skins require the rear spar to be swept slightly more forward than the stock wings  This won't allow you to use the rear spar attach fittings from RR and that I would need to fabricate a new set of rear spar attach fittings 
I also found that the aileron bellcranks were not built or installed as per plans, but found that they looked professional  I couldn't check for function since the right bellcrank and sheeve wasn't installed, the left wing also wasn't installed, and the right wing didn't exist yet 
Next we pulled the inspection panels off of the fuselage and tail and looked at everything I could see with a good flashlight  I didn't find anything else that might be questionable about the fuselage except for a cracked elevator trim tab that was damaged when it fell off it's hanging place on the wall 
Next we spent some time going over his builders log and builders photo album  I still hadn't seen anything that would dissuade me from buying this project 
At this point it was starting to get late and my ride down needed to get airborne for the flight home  I needed to make a decision about whether I wanted this project or not, but I hadn't inspected the wings and canopy yet  I took a cursory look at the left wing and saw lots on micro built up on it and some bubbles in the leading edge, but nothing that looked seriously wrong to my amateur eye  The right wing was only a set of spars in the shop and the Diehl wing skins in the house, so there wasn't much to look at there  The canopy was wrapped in paper and tape, so there wasn't much to look at there either  I decided that even if there were serious problems in the wing that was built, I would be money ahead to go ahead and buy the project  For the advertised price, I could build a new set of wings and still be way ahead financially  We negotiated a final price, shook hands, took my ride to the airport, and started off in search of a U-haul to haul the project home 
Now, at this point, some of you are thinking about what I surely must have forgotten to inspect and why didn't I take a local A & P or EAA member along for the ride  First of all, I don't know any mechanics locally that have any experience with glass and our EAA chapter of which I am VP is woefully lacking in fiberglass knowledge  Secondly, as you will see, I missed plenty  Some by ignorance, some by just not looking close enough 
Now for a list of the problems that I found over the last year and a few of the fixes that I came up with 
I found that the lower set of rear spar attach fittings on the left rear spar were installed backwards with the longer spaced hole towards the fuselage  Since this is the same place that also had the cracked spar cap, it required a major change  Also in the same area he had drilled through the rear spar with a hole saw to create a place for the aileron cable to pass through and managed to cut out the second from the outside vertical brace in the spar  Then he chose to install the aileron bellcranks in front of the rear spar, and cut another hole through the rear spar for the aileron push rod  He also managed to cut out the outside vertical brace in the spar  Since the holes were already drilled through the spar, the choices were to either cut out that section of spar cap and scarf a new piece in, cut the whole rear spar carrythrough out of the fuselage including ruining the left lower wing skin, or do something else creative to reinforce the spar cap and install a custom built set of attach fittings 
I also found that after I built and installed the right side wing stub ribs and skin that the aileron bellcrank setup would not work as installed  The cable that crosses between the two bellcranks had a sharp uphill from the sheeve to the bellcrank in the last 12 inches on either side  This combined with the radius that the bellcranks turn caused the cross cable to pull up tight when the ailerons were pushed to either end of their travel, but allowed the cables to go very slack when the ailerons were centered  Also the Aileron pushrods needed to pass directly through the lower set of rear wing attach fittings to attach to the aileron  This whole rear spar and aileron bellcrank setup was going to either have to be redesigned or cut out and built to plans  The bottom line is that the problems I observed when I inspected this part were much more serious than expected when I had to fix it 
I decided that I had to remove the rear fittings from the left wing to be replaced with the new set that my neighborhood machinist was cutting out for me  When I put the wing on the work bench to start removing the rear fittings, I thought I had better take a closer look at the bubbles in the leading edge  I found that as I pushed on the leading edge, it delaminated between the glass lay-up on top and the upper and lower wing skin edges that were floxed together underneath  I concluded that that area had to come apart and took a belt sander to the leading edge  What I found was that the leading edge had been floxed together and glassed over, but the mold release had never been scrubbed off the leading edge of the wing  It peeled apart for rebuild quite easily 
When I got back to removing the rear spar attach fittings, I noticed that the woodwork inside the wing looked awfully dull  The reason was that the wing had been closed up without varnishing any of the woodwork  This was rectified with a small hole saw, a number of extensions and a modified undercoating sprayer 
I also found that the aluminum drain fitting in the bottom of the left wing tank had been glassed into place upside down  The tapered pipe threads were tapered the wrong way to install the draincock into the tank  Retapping the fitting the right direction seemed to be a good fix for that problem 
When I finally got around to attaching the wing to the fuselage, I found that the front spar attach fittings were badly misaligned  Although they could be forced into alignment, I didn't think I needed that kind of preload on the main spar fittings  This problem was fixed by calling on my local neighborhood machinist to build me an aligning fixture and reaming the attach holes to the next larger size and ordering the new sized bolts 
On the fuselage I found that although it had new Cleveland wheels and brakes on it, one of the brakes had a severe wobble to it  I must complement the manufacturers for taking care of that problem  One call to the Cleveland factory and they shipped me a new set of wheels and brakes even though the receipt for this set was over four years old and in the original builders name  Their only concern was that this set had never been placed in service yet 
I chose to sand the load of micro off the left wing to see what it was covering  When I got down to the glass, I found that there was no glass for the aft inch and a half of the underside of the wing in front of the aileron hinge  With the Diehl wing skins, you build the wings, then cut the ailerons out of trailing edge of the wing  He had mismeasured and cut too much material off the bottom side of the trailing edge in front of the aileron  It was filled by floxing a piece of spruce into the gap to fill the space between the back edge of the fiberglass and the aileron mount  I chose to wrap the trailing edge of that wing, and the other wing to match with a couple of lay-ups of glass 
When I sanded the primer off the aforementioned damaged trim tab, I found that the hinge was floxed to the leading edge of the foam insides of the tab, but not the glass  I also chose to wrap the front of the trim tab with a lay-up of glass 
I decided to pull the paper off the canopy and take a look at it before I'm ready to bolt it on and fly  The original builder had blown his own canopy and after some of the previous problems, I was beginning to have some concerns about not having looked it over closely enough  The canopy turned out to have been blow a little too large  It ended up with a little larger bubble for headroom, which I didn't object to  However, it had more headroom on the right side than the left  Yes, it was just a little bit lopsided  The main problem was that the canopy is stretched thin enough that it can be easily pushed in with one hand when the weather is warm   My fear was that this is just thin enough that it may decide to lay on my head or in my lap when flying on a warm day  It will have to be replaced 
I'm sure that many that are reading this could see several of the potential problems before I mentioned them, but some others may not have and I'm sure that there could have been many other problems that didn't but could have existed on this project  This is also not intended to be critical of the gentleman that started this project as many parts of it, especially the wood work are better than I could have done and much of his work is outstanding  I prefer to think that I'll end up with a better plane with his woodwork combined with my glasswork  This article is intended to feature some of the problems that you may run into in buying someone else's project 
The final question is, knowing what I have found over the past year, would I have still purchased this project  The answer is yes, but primarily because the price was right in that I am still money and work ahead of where I would be if I had started the project from scratch  There are a few things that I would have done differently, but nothing that I can't live with  Although I won't be able to say that I built it all from scratch, I have built and rebuild enough of the plane that I should have no problem qualifying under the 51% rule 
You can send comments directly to the author via e-mail at "jscott@LANL GOV" 
Here is an brief explanation of how I built my turtledecks  The jig was constructed from scrap plywood and a few 1x4s that I ripped into stringers  I made two temporary bulkheads from the plywood, one for each end  Remember the forward bulkhead needs to be shaped in a way that will closely match the aft end of your canopy frame  Make an aft bulkhead by placing a straight edge at the top of your forward bulkhead and the trailing edge of your horizontal stabilizer  This will give you an idea of how tall your aft bulkhead needs to be  As far as location, I placed my aft bulkhead just forward of the lower/front of my vertical fin  I constructed the jig on the fuselage, it is glued together with automotive bondo 
After the bulkheads were bondoed to the fuselage I used the stringers that I ripped from the 1x4s and bondoed them to the bulkheads  This gave me a male form to cover with thin plastic or posterboard  I stapled two layers of posterboard to the jig(thin plastic would work better)  The posterboard wraps down two inches onto the fuselage  After I was satisfied with the way it looked, I then covered the entire thing with duct tape (fiberglass will not stick to duct tape) On top of this I wetout one layer of tri-ply cloth (22oz) that I had left over from an earlier project, and one layer of 8oz  bid  Remember to mask off your fuselage so you don't get epoxy on it  If you are not familiar with composite lay-ups, you should plan on razor cutting your lay-ups 4 to 6 hours after wetout while the lay-up is still soft enough to cut with a razorblade 
After the lay-up cured (2 or 3 days) it was removed from the jig, and the jig was removed from the fuselage and discarded  (be careful, the bondo sticks very well to the spruce, you could splinter your wood during removal) I now have a fiberglass skin that tends to hold the shape of the jig but is still flexible enough to work with  I made two bulkheads out of 1/4 last-a-foam (AS&S) using the plywood formers from the jig as a guide  I covered these foam bulkheads with one 8oz layer of glass on each side, with a glass to glass edge on the bottom  After cure these bulkheads were bondoed into place (to the fuselage)and the fiberglass skin was pulled down tight and floxed to the bulkheads  When the flox cured the bondo joints were broken, again being careful not to harm the wood  The turtledeck was removed from the fuselage and 2 inch tapes added to the bulkheads inside and out 
At this point the turtledeck looked great and only weighed about 5lbs  but I noticed you could deform the skin by pushing hard on the outside  So I flipped the turtledeck over and from 1/4 inch last-a-foam, I cut two inch wide strips that would run the entire length, forward and aft inside the turtledeck  In effect these would act as composite stringers, I made enough of these two inch wide strips to make up three stringers  One down the center (sort of a backbone) and one on each side of the "backbone" half the distance to the edge of the turtledeck  I sanded the edge of the foam so that when covered with a layer of bid @ 45degrees there would be a nice transition from the turtledeck skin up onto the foam and then back onto the turtledeck I scuff sanded and glued the foam stringers in with micro  I covered the foam stringers with one layer of 8oz bid @ 45degrees 
You can also send me email at: mikemims@pacbell net if you have any questions or want to share your ideas 
KROnline is an online KR Newsletter devoted to sharing KR information with other builders and pilots in a timely manner  The first issue (September 96) is now available as a zipped MicroSoft Word file at http://members aol com/bshadr or as an html document at kronline9 html  If you'd like to submit articles or photos, email Randy Stein at BSHADR@aol com ------------------------------------------------------------ Don't bother to email Randy though  KROnline has been retired since the KR Newsletter has improved 



ground_truth: The baseline is used as a reference for the mid point of the firewall for the developed side panel.